Function at 0x4f0ab0
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x6385e0]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 8], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov byte [ebp - 0xee], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov cl, byte [eax + 0x49]
mov byte [ebp - 0xed], cl
mov dword [ebp - 0xdc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed090
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 7
jne 0x4f0b6e
jmp 0x4f8230
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x1a8], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x4f0ba0
jmp 0x4f82a0
mov ecx, dword [ebp - 4]
xor edx, edx
cmp dword [ecx + 0x108], 0
setne dl
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xd8], ecx
jmp 0x4f0bd2
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 8], 0
jne 0x4f8185
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4f0bec
jmp 0x4f8230
mov edx, dword [ebp - 0xd8]
imul edx, edx, 0x14
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], edx
cmp dword [ebp - 0xe0], 0
je 0x4f0c67
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x110]
cmp ecx, dword [ebp - 0xdc]
jne 0x4f0c58
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x108]
call edx
add esp, 4
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x4f0c4e
mov dword [ebp - 8], 9
jmp 0x4f8185
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 2]
and edx, 2
je 0x4f0cac
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9880
add esp, 4
mov eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
sub ecx, 1
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0x90
ja case.0x4f0ce0.16
mov edx, dword [ebp - 0x134]
jmp dword [edx*4 + 0x4f82ec]
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x4f0cf8
jmp 0x4f82a0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, 4
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, 4
mov edx, dword [ebp - 0x100]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 1
jne case.0x4f0ce0.5
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
jne 0x4f0ed1
mov edx, dword [ebp + 8]
cmp dword [edx + 0xdc], 0
je 0x4f0ed1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xdc]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0xdc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xe0]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xe0], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004ee6f0
add esp, 8
mov edx, dword [ebp - 0x10c]
push edx
call fcn.004ec700
add esp, 4
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 4
jne 0x4f0eb4
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax + ecx + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0xfc], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + 8]
mov byte [eax + 0x38], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0x10], 0
je 0x4f0f5d
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
push 0x606830
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.004cc8c0
add esp, 0x10
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push str.abort_at__d_in___s_:__s
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
call fcn.004ce460
add esp, 0x14
jmp 0x4f0f8e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 0
je 0x4f0f8e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push str.constraint_failed_at__d_in___s_
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
call fcn.004ce460
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.004ed140
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x4f0fb5
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x4f0fc8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 8], eax
jmp 0x4f81f3
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
jmp case.0x4f0ce0.16
mov ecx, 8
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xe4]
fld qword [ecx]
fstp qword [edx + 8]
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov byte [eax], 9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004cf400
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0xed]
cmp edx, 1
je 0x4f1142
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004ea020
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jne 0x4f108e
jmp 0x4f820c
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9390
add esp, 8
test eax, eax
je 0x4f10ae
jmp 0x4f8230
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
or ecx, 0x800
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4f1114
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004cc360
add esp, 8
mov edx, dword [ebp - 0xf8]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x48]
jle case.0x4f0ce0.8
jmp 0x4f820c
mov eax, 0xa02
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x4f0ce0.16
mov ecx, 1
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
jmp case.0x4f0ce0.16
push 0
push 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004ea020
add esp, 0x14
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x3c]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004e9ea0
add esp, 4
test eax, eax
je 0x4f1221
jmp 0x4f820c
push 0x800
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e9ef0
add esp, 0xc
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xc4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xcc], ecx
test eax, eax
je 0x4f1312
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x100]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e9fd0
add esp, 8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x100]
add eax, 0x28
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x28
mov dword [ebp - 0xe4], ecx
jmp 0x4f1298
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
push 0x1000
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9ef0
add esp, 0xc
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0x1000
je 0x4f138b
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9540
add esp, 4
test eax, eax
je 0x4f138b
jmp 0x4f8230
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
push 0x1000
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9ef0
add esp, 0xc
jmp case.0x4f0ce0.16
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004ed0b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f13fc
jmp case.0x4f0ce0.16
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004ecf70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f1418
jmp case.0x4f0ce0.16
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], 0
jmp 0x4f1469
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ecx + 8]
jge 0x4f14ac
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd0]
push eax
call fcn.004e9690
add esp, 4
mov ecx, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd0]
push ecx
call fcn.004f06c0
add esp, 4
jmp 0x4f145a
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x4f14bc
jmp 0x4f8230
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x54], ecx
mov dword [ebp - 8], 0x64
jmp 0x4f81f3
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4f154e
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9cd0
add esp, 4
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f1576
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x138], eax
jmp 0x4f1580
mov dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0
jne 0x4f15c4
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f15b1
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x13c], eax
jmp 0x4f15bb
mov dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0
je 0x4f15c9
jmp 0x4f8230
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x12
jne 0x4f15f8
movzx ecx, byte [ebp - 0xed]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9710
add esp, 8
test eax, eax
je 0x4f15f8
jmp 0x4f8230
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4f1627
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e9710
add esp, 8
test eax, eax
je 0x4f1627
jmp 0x4f8230
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx + 0x18]
mov edx, dword [ebp - 0xec]
add eax, dword [edx + 0x18]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0x140]
jl 0x4f167c
jg 0x4f1677
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0x144]
jbe 0x4f167c
jmp 0x4f820c
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 2
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
cmp eax, dword [ebp - 0xec]
sete cl
push ecx
mov edx, dword [ebp - 0xd0]
add edx, 2
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e93d0
add esp, 0xc
test eax, eax
je 0x4f16cd
jmp 0x4f8230
mov ecx, dword [ebp - 0xe4]
cmp ecx, dword [ebp - 0xec]
je 0x4f1701
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00555c70
add esp, 0xc
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0xec]
add ecx, dword [edx + 0x18]
push ecx
call fcn.00555c70
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x14]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0xd0]
add eax, 1
mov ecx, dword [ebp - 0xcc]
adc ecx, 0
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
or eax, 0x200
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0xe4]
mov dl, byte [ebp - 0xed]
mov byte [ecx + 0x1f], dl
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.004f0840
add esp, 4
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.004f0840
add esp, 4
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
or eax, edx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
and eax, 1
je 0x4f1830
jmp 0x4f1c24
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and edx, ecx
and edx, 4
je 0x4f1a52
mov edx, dword [ebp - 0x100]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
sub ecx, 0x56
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 3
ja case.default.0x4f18ae
mov edx, dword [ebp - 0x148]
jmp dword [edx*4 + 0x4f8530]
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
adc ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
jmp 0x4f1a1a
mov edx, dword [ebp - 0xc0]
sub edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xbc]
sbb eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
jmp 0x4f1a1a
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00559510
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x4f1a1a
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x4f194c
jmp 0x4f1c24
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x4f1986
cmp dword [ebp - 0xc0], 0
jne 0x4f1986
cmp dword [ebp - 0xbc], 0x80000000
jne 0x4f1986
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.0055eb80
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x4f1a1a
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x4f19c8
jmp 0x4f1c24
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x4f19ed
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.0055ec30
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xbc]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp 0x4f1c1f
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9a80
add esp, 4
fstp qword [ebp - 0xb8]
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e9a80
add esp, 4
fstp qword [ebp - 0xb0]
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
sub eax, 0x56
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 3
ja case.default.0x4f1aa9
mov ecx, dword [ebp - 0x14c]
jmp dword [ecx*4 + 0x4f8540]
fld qword [ebp - 0xb0]
fadd qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x4f1bbf
fld qword [ebp - 0xb0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x4f1bbf
fld qword [ebp - 0xb0]
fmul qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x4f1bbf
fldz
fcomp qword [ebp - 0xb8]
fnstsw ax
test ah, 0x44
jp 0x4f1b09
jmp 0x4f1c24
fld qword [ebp - 0xb0]
fdiv qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x4f1bbf
fld qword [ebp - 0xb8]
call fcn.005be6e6
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
fld qword [ebp - 0xb0]
call fcn.005be6e6
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x4f1b61
jmp 0x4f1c24
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x4f1b86
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.0055ec30
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
fild qword [ebp - 0x154]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call fcn.004cf3c0
add esp, 8
test eax, eax
je 0x4f1bd9
jmp 0x4f1c24
mov edx, dword [ebp - 0xe4]
fld qword [ebp - 0xb0]
fstp qword [edx + 8]
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 8
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
and eax, 8
jne 0x4f1c1f
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9b20
add esp, 4
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9cd0
add esp, 4
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], 0
jmp 0x4f1c9b
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x28
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0x84]
jge 0x4f1ccf
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004f06c0
add esp, 4
jmp 0x4f1c7d
mov ecx, dword [ebp - 0xf8]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffb
jne 0x4f1cf9
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], 0
jmp 0x4f1d16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, 1
mov word [ebp - 0xa4], dx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0xe4]
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.004e9fd0
add esp, 8
movzx eax, word [ebp - 0xa4]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 3]
and edx, 8
je 0x4f1dab
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4f1ded
lea eax, [ebp - 0xc0]
push eax
call fcn.004e9930
add esp, 4
jmp 0x4f8230
cmp dword [ebp - 0xc4], 0
je 0x4f1e28
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.004ed720
add esp, 8
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xf8]
mov byte [eax + 1], 0xf9
cmp dword [ebp - 0x94], 0
je 0x4f1e62
lea ecx, [ebp - 0xc0]
push ecx
call fcn.004eeb50
add esp, 4
push eax
push 0x606830
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.004cc8c0
add esp, 0x10
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0xed]
push edx
lea eax, [ebp - 0xc0]
push eax
call fcn.004e9390
add esp, 8
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9fd0
add esp, 8
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e9ea0
add esp, 4
test eax, eax
je 0x4f1ea7
jmp 0x4f820c
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x4f1f23
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9cd0
add esp, 4
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xf8]
mov al, byte [edx]
mov byte [ebp - 0x158], al
cmp byte [ebp - 0x158], 0x52
je 0x4f1f84
cmp byte [ebp - 0x158], 0x53
je 0x4f1faa
cmp byte [ebp - 0x158], 0x54
je 0x4f1fd0
jmp 0x4f1ff5
mov ecx, dword [ebp - 0xd0]
and ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
and edx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
jmp 0x4f2018
mov eax, dword [ebp - 0xd0]
or eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
or ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
jmp 0x4f2018
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.005bb4c0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4f2018
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.005be760
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e9bb0
add esp, 4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
movzx edx, byte [ebp - 0xed]
push edx
push 0x63
mov eax, dword [ebp - 0x100]
push eax
call fcn.004f0970
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 4
jne 0x4f210c
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 0
jne 0x4f20f8
mov dword [ebp - 8], 0x14
jmp 0x4f825b
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x4f2129
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x100]
mov word [edx + 0x1c], cx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 4
je 0x4f2164
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e9bf0
add esp, 4
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f2195
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], ax
movzx edx, byte [ebp - 0xed]
push edx
push 0x61
mov eax, dword [ebp - 0x100]
push eax
call fcn.004f0970
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x4f21fd
mov eax, dword [ebp - 0x100]
push eax
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x15c], eax
jmp 0x4f2207
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbfe3
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], ax
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f225a
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x4f22a1
movzx edx, byte [ebp - 0xed]
push edx
push 0x61
mov eax, dword [ebp - 0x100]
push eax
call fcn.004f0970
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 0x10
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
jmp 0x4f22bb
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffff10
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0xd
jne 0x4f22f6
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9c20
add esp, 4
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x4f2331
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e9bb0
add esp, 4
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x4f236c
mov eax, dword [ebp - 0x100]
push eax
call fcn.004e9bf0
add esp, 4
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x100]
mov ax, word [edx + 0x1c]
mov word [ebp - 0xca], ax
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0x1c]
mov word [ebp - 0xc8], dx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4f248c
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x80
je 0x4f241c
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 1
neg ecx
sbb ecx, ecx
add ecx, 1
mov dword [ebp - 0xd0], ecx
jmp 0x4f2487
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x4f2461
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp 0x4f2482
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 8
je 0x4f2482
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
jmp 0x4f2582
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x67
mov byte [ebp - 0xcc], cl
movsx edx, byte [ebp - 0xcc]
test edx, edx
je 0x4f24f8
movzx eax, byte [ebp - 0xed]
push eax
movzx ecx, byte [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.004f0970
add esp, 0xc
movzx eax, byte [ebp - 0xed]
push eax
movzx ecx, byte [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004f0970
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4f24f8
jmp 0x4f8230
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f2520
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x160], eax
jmp 0x4f252a
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f2552
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x164], eax
jmp 0x4f255c
mov dword [ebp - 0x164], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004ea260
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
sub edx, 0x4b
mov dword [ebp - 0x168], edx
cmp dword [ebp - 0x168], 4
ja case.default.0x4f25af
mov eax, dword [ebp - 0x168]
jmp dword [eax*4 + 0x4f8550]
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
jmp 0x4f262c
xor edx, edx
cmp dword [ebp - 0xd0], 0
setne dl
mov dword [ebp - 0xd0], edx
jmp 0x4f262c
xor eax, eax
cmp dword [ebp - 0xd0], 0
setl al
mov dword [ebp - 0xd0], eax
jmp 0x4f262c
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
setle cl
mov dword [ebp - 0xd0], ecx
jmp 0x4f262c
xor edx, edx
cmp dword [ebp - 0xd0], 0
setg dl
mov dword [ebp - 0xd0], edx
jmp 0x4f262c
xor eax, eax
cmp dword [ebp - 0xd0], 0
setge al
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x4f2683
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4f269e
cmp dword [ebp - 0xd0], 0
je 0x4f269e
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffff00
movzx eax, word [ebp - 0xca]
and eax, 0xff
or edx, eax
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], dx
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffff00
movzx ecx, word [ebp - 0xc8]
and ecx, 0xff
or eax, ecx
mov edx, dword [ebp - 0xd4]
mov word [edx + 0x1c], ax
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe8], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xcc], 0
jmp 0x4f275e
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x4f283f
cmp dword [ebp - 0xe8], 0
je 0x4f2790
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x16c], edx
jmp 0x4f279c
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + edx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xcc]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc4]
add ecx, dword [ebp - 0xbc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0xc8]
add edx, dword [ebp - 0xbc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
push edx
call fcn.004ea260
add esp, 0xc
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x4f283a
cmp dword [ebp - 0xb4], 0
je 0x4f2838
mov eax, dword [ebp - 0x104]
neg eax
mov dword [ebp - 0x104], eax
jmp 0x4f283f
jmp 0x4f274f
mov dword [ebp - 0xe8], 0
jmp case.0x4f0ce0.16
cmp dword [ebp - 0x104], 0
jge 0x4f286b
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x4f289a
cmp dword [ebp - 0x104], 0
jne 0x4f2888
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x4f289a
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f28d2
mov dword [ebp - 0xd0], 2
jmp 0x4f291d
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x174]
or eax, dword [ebp - 0x170]
je 0x4f2907
mov dword [ebp - 0x178], 1
jmp 0x4f2911
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f2950
mov dword [ebp - 0xcc], 2
jmp 0x4f299b
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov ecx, dword [ebp - 0x180]
or ecx, dword [ebp - 0x17c]
je 0x4f2985
mov dword [ebp - 0x184], 1
jmp 0x4f298f
mov dword [ebp - 0x184], 0
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x45
jne 0x4f29c8
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x5f6b88]
mov dword [ebp - 0xd0], ecx
jmp 0x4f29e5
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x5f6b94]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xd0], 2
jne 0x4f2a25
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 1
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp 0x4f2a53
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f2aa8
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9cd0
add esp, 4
jmp 0x4f2aff
mov eax, dword [ebp - 0x100]
push eax
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], edx
mov ecx, dword [ebp - 0x18c]
or ecx, dword [ebp - 0x188]
jne 0x4f2add
mov dword [ebp - 0x190], 1
jmp 0x4f2ae7
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x190]
cdq
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9d80
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f2b54
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e9cd0
add esp, 4
jmp 0x4f2b78
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e99d0
add esp, 4
not eax
not edx
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9d80
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x4f2bb5
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd0], edx
jmp 0x4f2c13
mov eax, dword [ebp - 0x100]
push eax
call fcn.004e9a80
add esp, 4
fcomp qword [0x612a68]
fnstsw ax
test ah, 0x44
jnp 0x4f2bdd
mov dword [ebp - 0x194], 1
jmp 0x4f2be7
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x1b
jne 0x4f2c13
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x4f2c2e
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f2c6c
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4f2caa
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0
xor edx, edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 1
mov ecx, dword [ebp - 0x94]
mov word [ecx + 0x1c], ax
mov dword [ebp - 0xb4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0
je 0x4f2e29
mov edx, dword [ebp - 0xb8]
push edx
call fcn.004ed930
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f2d8e
jmp 0x4f825b
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x4f2da8
mov dword [ebp - 0xd0], 0
jmp 0x4f2e27
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x4f2dd9
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xb4], edx
jmp 0x4f2e27
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x4f2e0e
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004e2180
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], ecx
jmp 0x4f2e27
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004e21d0
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4f2ea4
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x24], 0
jle 0x4f2e9a
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x4f2e7d
mov dword [ebp - 0x198], 0
jmp 0x4f2e89
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x44], ecx
jmp 0x4f2ea4
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd0], 0
jne 0x4f2eb2
jmp 0x4f33f0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x48]
jbe 0x4f2ec5
jmp 0x4f820c
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x4f2f08
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0xa8], eax
jmp 0x4f323d
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx*4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa8]
mov dword [ecx + 0x50], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x44], ecx
cmp dword [ebp - 0xb4], 0
je 0x4f2f68
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x98], edx
jmp 0x4f2fdf
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x4f2f91
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004e2840
add esp, 8
mov dword [ebp - 0x98], eax
jmp 0x4f2faa
lea ecx, [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.004e2880
add esp, 8
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x54]
ja 0x4f2fd2
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x98]
mov dword [edx + 0x54], eax
jmp 0x4f2fdf
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x4f3007
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x19c], 1
jmp 0x4f3023
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.004d06a0
add esp, 8
movzx edx, al
mov dword [ebp - 0x19c], edx
movzx eax, byte [ebp - 0x19c]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x60], 0x18003
jbe 0x4f304b
push 0xf0f2
call fcn.0052d860
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4f33f0
mov ecx, dword [ebp - 0xa4]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0x60]
jle 0x4f3071
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xb4], 0
jne 0x4f30d3
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0xa0]
jge 0x4f30d3
xor edx, edx
mov word [ebp - 0x74], dx
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x17]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.004ea5e0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f30ca
jmp 0x4f33f0
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x9c], 0
jmp 0x4f3109
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa4]
jge 0x4f31ea
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x64]
jae 0x4f31d2
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x60]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x4f3167
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x1a0], 1
jmp 0x4f318c
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
lea ecx, [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.004d06a0
add esp, 8
movzx eax, al
mov dword [ebp - 0x1a0], eax
movzx ecx, byte [ebp - 0x1a0]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.004edb70
add esp, 4
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
jae 0x4f31d0
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x68], ecx
jmp 0x4f31ea
jmp 0x4f31e5
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
mov dword [eax + edx*4], 0
jmp 0x4f30fa
lea ecx, [ebp - 0x90]
push ecx
call fcn.004e9930
add esp, 4
mov edx, 1
mov word [ebp - 0x74], dx
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x64]
ja 0x4f3228
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0xd0]
ja 0x4f3228
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x64]
jne 0x4f323d
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0xd0]
je 0x4f323d
push 0xf13c
call fcn.0052d860
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4f33f0
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xa8]
cmp dword [edx + ecx*4], 0
je 0x4f335f
cmp dword [ebp - 0xb4], 0
je 0x4f32a5
mov eax, dword [ebp - 0x94]
push eax
call fcn.004e9880
add esp, 4
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb4]
add ecx, dword [eax + edx*4]
push ecx
call fcn.004edcc0
add esp, 0xc
jmp 0x4f334e
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.004edb70
add esp, 4
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x94]
push edx
lea eax, [ebp - 0x90]
push eax
call fcn.004e9fd0
add esp, 8
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x17]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.004ea5e0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f331f
jmp 0x4f33f0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.004edcc0
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xed]
mov byte [eax + 0x1f], cl
jmp 0x4f338c
mov edx, dword [ebp - 0xf8]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x4f338c
push 0x800
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x94]
push eax
call fcn.004e9ef0
add esp, 0xc
cmp dword [ebp - 0x6c], 0
je 0x4f33de
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffe7ff
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x7c]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x94]
push edx
call fcn.004e9540
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ecx]
mov byte [ebp - 0xcc], dl
movsx eax, byte [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
test eax, eax
je 0x4f34a9
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f346c
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x1a4], eax
jmp 0x4f3476
mov dword [ebp - 0x1a4], 0
movzx edx, byte [ebp - 0xed]
push edx
movzx eax, byte [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004f0970
add esp, 0xc
mov edx, dword [ebp - 0x100]
add edx, 0x28
mov dword [ebp - 0x100], edx
jmp 0x4f341c
jmp case.0x4f0ce0.16
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x9c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x64]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
jmp 0x4f356e
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa0]
ja 0x4f369b
cmp dword [ebp - 0x98], 0
je 0x4f35bf
movzx ecx, byte [ebp - 0xed]
push ecx
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xa4]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004f0970
add esp, 0xc
mov edx, dword [ebp - 0xcc]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f35eb
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x18], 0
jle 0x4f35eb
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e95f0
add esp, 4
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004eda00
add esp, 8
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp - 0xa8]
push edx
call fcn.004edb70
add esp, 4
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
cdq
add eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
adc ecx, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xa8]
xor eax, eax
push eax
push edx
call fcn.004d07a0
add esp, 8
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xcc]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x4f3683
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
jmp 0x4f3696
cmp dword [ebp - 0x8c], 0
je 0x4f3696
mov dword [ebp - 0xb0], 0
jmp 0x4f355f
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.004d07a0
add esp, 8
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xc0]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.004d07a0
add esp, 8
cmp dword [ebp - 0xac], eax
jge 0x4f36ec
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0xc8]
adc esi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x1a8]
jl 0x4f3750
jg 0x4f374b
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0x1ac]
jbe 0x4f3750
jmp 0x4f820c
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e93d0
add esp, 0xc
test eax, eax
je 0x4f3789
jmp 0x4f8230
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xc0], 0x80
jae 0x4f37be
mov edx, dword [ebp - 0xd0]
mov al, byte [ebp - 0xc0]
mov byte [edx], al
mov dword [ebp - 0x1b0], 1
jmp 0x4f37da
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.004d0280
add esp, 8
mov dword [ebp - 0x1b0], eax
movzx eax, byte [ebp - 0x1b0]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
jmp 0x4f3804
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa0]
ja 0x4f3898
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004eda00
add esp, 8
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x80
jae 0x4f385e
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x90]
mov cl, byte [ebp - 0xa8]
mov byte [eax], cl
mov dword [ebp - 0x1b4], 1
jmp 0x4f3880
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x90]
push eax
call fcn.004d0280
add esp, 8
mov dword [ebp - 0x1b4], eax
movzx ecx, byte [ebp - 0x1b4]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x90], ecx
jmp 0x4f37f5
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], edx
jmp 0x4f38b5
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0xa0]
ja 0x4f390c
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0x90]
cdq
mov ecx, dword [ebp - 0xb8]
sub ecx, eax
mov eax, dword [ebp - 0xb4]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x90]
push ecx
call fcn.004edba0
add esp, 0x10
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x4f38a6
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x18], edx
mov ecx, 0x410
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0xb0], 0
je 0x4f3968
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xb0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1f], 1
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x4f39b5
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004e7110
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4f39c9
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 4], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xd0], 0
jne 0x4f3b25
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jle 0x4f3a40
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x4f3b20
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004cf400
add esp, 4
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc8]
add edx, 0x19
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004cc630
add esp, 8
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x4f3b20
mov ecx, dword [ebp - 0xc4]
add ecx, 0x18
mov edx, dword [ebp - 0xc4]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc8]
add eax, 1
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
push eax
call fcn.00555c70
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x4f3acf
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1dc], 1
jmp 0x4f3ae4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1d4]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1d4], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d0]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x1d0], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
mov dword [ecx + 8], eax
mov edx, dword [edx + 0x1e4]
mov dword [ecx + 0xc], edx
jmp 0x4f3e57
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d0]
mov dword [ebp - 0xc0], ecx
jmp 0x4f3b4f
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x4f3b85
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
push eax
call fcn.004cf6d0
add esp, 8
test eax, eax
je 0x4f3b85
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x4f3b40
cmp dword [ebp - 0xc0], 0
jne 0x4f3bb9
mov edx, dword [ebp - 0xcc]
push edx
push str.no_such_savepoint:__s
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0x10
mov dword [ebp - 8], 1
jmp 0x4f3e57
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 0
jg 0x4f3bda
cmp dword [ebp - 0xd0], 2
jne 0x4f3c24
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x4f3c24
cmp dword [ebp - 0xd0], 2
jne 0x4f3bef
mov dword [ebp - 0x1b8], str.rollback
jmp 0x4f3bf9
mov dword [ebp - 0x1b8], str.release
mov ecx, dword [ebp - 0x1b8]
push ecx
push str.cannot__s_savepoint___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.004cc8c0
add esp, 0x10
mov dword [ebp - 8], 5
jmp 0x4f3e57
mov ecx, dword [ebp - 0xc0]
cmp dword [ecx + 0x10], 0
jne 0x4f3c4a
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1dc]
test eax, eax
je 0x4f3c4a
mov dword [ebp - 0x1bc], 1
jmp 0x4f3c54
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0
je 0x4f3ce6
cmp dword [ebp - 0xd0], 1
jne 0x4f3ce6
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004ed0b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f3c8e
jmp 0x4f81f3
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed140
add esp, 4
cmp eax, 5
jne 0x4f3cce
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 0
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x4f81f3
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1dc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov dword [ebp - 8], eax
jmp 0x4f3d92
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1d4]
sub edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], 0
jmp 0x4f3d19
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ecx + 4]
jge 0x4f3d61
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xb4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004e1de0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f3d5f
jmp 0x4f825b
jmp 0x4f3d0a
cmp dword [ebp - 0xd0], 2
jne 0x4f3d92
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
and ecx, 0x200
je 0x4f3d92
mov edx, dword [ebp - 4]
push edx
call fcn.004ee720
add esp, 4
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.005041b0
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1d0]
cmp edx, dword [ebp - 0xc0]
je 0x4f3dee
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d0]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x1d0], ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004cc360
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1d4]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1d4], edx
jmp 0x4f3d92
cmp dword [ebp - 0xd0], 1
jne 0x4f3e3c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1d0], eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004cc360
add esp, 8
cmp dword [ebp - 0x110], 0
jne 0x4f3e3a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d4]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1d4], ecx
jmp 0x4f3e57
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x1e0], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0x1e4], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xd0], 0
je 0x4f3e9a
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x4f3e9a
mov dword [ebp - 0x1c0], 1
jmp 0x4f3ea4
mov dword [ebp - 0x1c0], 0
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x4f3ef2
cmp dword [ebp - 0xcc], 0
je 0x4f3ef2
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x4f3ef2
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x4f405f
cmp dword [ebp - 0xc8], 0
je 0x4f3f34
cmp dword [ebp - 0xcc], 0
jne 0x4f3f34
mov eax, dword [ebp - 4]
cmp dword [eax + 0x90], 0
jle 0x4f3f34
push str.cannot_commit_transaction___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x4f405f
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0xd0], ecx
je 0x4f3ffe
cmp dword [ebp - 0xcc], 0
je 0x4f3f65
mov edx, dword [ebp - 4]
push edx
call fcn.0052c160
add esp, 4
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x4f3fd2
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed0b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f3f83
jmp 0x4f81f3
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0xd0]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed140
add esp, 4
cmp eax, 5
jne 0x4f3fd2
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x54], eax
mov ecx, 1
sub ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 4]
mov byte [edx + 0x1c], cl
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x4f81f3
mov edx, dword [ebp - 4]
push edx
call fcn.0052bd50
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x58], 0
jne 0x4f3ff0
mov dword [ebp - 8], 0x65
jmp 0x4f3ff7
mov dword [ebp - 8], 1
jmp 0x4f81f3
cmp dword [ebp - 0xd0], 0
jne 0x4f4013
mov dword [ebp - 0x1c4], str.cannot_start_a_transaction_within_a_transaction
jmp 0x4f403e
cmp dword [ebp - 0xcc], 0
je 0x4f4028
mov dword [ebp - 0x1c8], str.cannot_rollback___no_transaction_is_active
jmp 0x4f4032
mov dword [ebp - 0x1c8], str.cannot_commit___no_transaction_is_active
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x1c4]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x4f4187
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004e0d00
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x4f40d0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x54], edx
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x4f81f3
cmp dword [ebp - 8], 0
je 0x4f40db
jmp 0x4f825b
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
je 0x4f4187
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x66]
test ecx, ecx
je 0x4f4187
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x4f4111
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x4f4187
mov edx, dword [ebp + 8]
cmp dword [edx + 0xd8], 0
jne 0x4f414d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d8]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1d8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x1d8]
mov eax, dword [ebp + 8]
mov dword [eax + 0xd8], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004e1d90
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
mov dword [ecx + 0xd0], eax
mov edx, dword [edx + 0x1e4]
mov dword [ecx + 0xd4], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xcc]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004e7040
add esp, 0xc
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004e9bb0
add esp, 4
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
push ecx
call fcn.004e7090
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 1
jne 0x4f4285
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
or edx, 0x200
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x4f42a5
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 8], 2
jne 0x4f42a5
mov edx, dword [ebp - 0xd4]
mov al, byte [edx]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x48], al
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 1
jne 0x4f42c4
mov ecx, dword [ebp - 4]
push ecx
call fcn.004ee720
add esp, 4
mov edx, dword [ebp + 8]
mov byte [edx + 0x62], 0
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
je 0x4f4308
lea edx, [ebp - 0xd0]
push edx
push 1
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004e7040
add esp, 0xc
jmp 0x4f4312
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 8]
je 0x4f4396
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004cc360
add esp, 8
push str.database_schema_has_changed
mov eax, dword [ebp - 4]
push eax
call fcn.004cc810
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xd0]
je 0x4f4383
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005041b0
add esp, 8
mov edx, dword [ebp - 4]
push edx
call fcn.004ee720
add esp, 4
mov dword [ebp - 8], 0x11
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x62]
test ecx, ecx
je 0x4f43b2
mov dword [ebp - 8], 4
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
cmp edx, 0x27
jne 0x4f444c
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x48]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x64]
cmp edx, ecx
jge 0x4f444a
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x48]
mov byte [ecx + 0x64], dl
jmp 0x4f4456
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4f44b4
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e9bb0
add esp, 4
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 2
jge 0x4f44b4
push 0xf432
call fcn.0052d860
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4f825b
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x4f44fe
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xcc]
mov al, byte [ecx + 0x49]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xcc]
movzx edx, word [ecx + 6]
add edx, 1
mov dword [ebp - 0xd0], edx
jmp 0x4f451c
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x4f451c
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd0], eax
push 1
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004f0720
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x4f4556
jmp 0x4f8230
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004e1f70
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 0x28], edx
cmp dword [ebp - 8], 0x10
jne 0x4f45b8
mov eax, dword [ebp - 0xb8]
mov dword [eax], 0
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 0xf8]
movsx edx, byte [ecx + 1]
xor eax, eax
cmp edx, 0xfffffffa
setne al
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x16], al
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x16]
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x17], al
jmp case.0x4f0ce0.16
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004f0720
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x4f462a
jmp 0x4f8230
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x14], 1
mov edx, dword [ebp - 0xd0]
add edx, 0x20
push edx
mov eax, dword [0x5f6ba0]
push eax
push 0x1f4
push 1
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.0052cc10
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f4679
push 1
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x20]
push eax
call fcn.004e0d00
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f474e
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
je 0x4f4720
push 2
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004e6b30
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f4714
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
push 1
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004e1f70
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x28], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x28]
mov al, byte [eax + 0x49]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x16], 0
jmp 0x4f474e
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
push 0
push 1
push 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004e1f70
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x16], 1
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x16]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x17], dl
jmp case.0x4f0ce0.16
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004f0720
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x4f47a5
jmp 0x4f8230
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x16], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x17], 0
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec680
add esp, 8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov dword [eax + ecx*4], 0
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
je 0x4f4c7a
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x16]
test edx, edx
je 0x4f4ab6
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004f0840
add esp, 4
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004e99d0
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 4
jne 0x4f4a4e
mov ecx, dword [ebp - 0xd4]
movzx edx, word [ecx + 0x1c]
and edx, 8
jne 0x4f48eb
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
cmp dword [ebp - 0xa0], 0
jne 0x4f49d2
cmp dword [ebp - 0x9c], 0x80000000
jne 0x4f49d2
fild qword [ebp - 0xa0]
mov edx, dword [ebp - 0xd4]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
je 0x4f4934
mov eax, dword [ebp - 0xd4]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x4f49d2
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 0xd4]
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x4f4981
cmp dword [ebp - 0xcc], 0x2e
jl 0x4f497f
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e2d20
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f497f
jmp 0x4f825b
jmp 0x4f49b0
cmp dword [ebp - 0xcc], 0x2d
jg 0x4f49b0
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e2d70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f49b0
jmp 0x4f825b
cmp dword [ebp - 0xd0], 0
je 0x4f49cb
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
cmp dword [ebp - 0xcc], 0x2c
je 0x4f49e4
cmp dword [ebp - 0xcc], 0x2e
jne 0x4f4a1a
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x4f4a18
mov edx, dword [ebp - 0xa0]
add edx, 1
mov eax, dword [ebp - 0x9c]
adc eax, 0
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], eax
jmp 0x4f4a4e
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x4f4a4e
mov edx, dword [ebp - 0xa0]
sub edx, 1
mov eax, dword [ebp - 0x9c]
sbb eax, 0
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], eax
lea ecx, [ebp - 0xd0]
push ecx
push 0
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f4a86
jmp 0x4f825b
cmp dword [ebp - 0xd0], 0
jne 0x4f4ab1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 1
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xa0]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 0xc], eax
jmp 0x4f4b80
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xc0], ecx
mov dx, word [ebp - 0xa8]
mov word [ebp - 0xbc], dx
mov eax, dword [ebp - 0xcc]
sub eax, 0x2c
and eax, 1
shl eax, 3
mov word [ebp - 0xba], ax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb0]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4f4b39
mov edx, dword [ebp - 0xb0]
push edx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x1cc], eax
jmp 0x4f4b43
mov dword [ebp - 0x1cc], 0
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f4b76
jmp 0x4f825b
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], 0
cmp dword [ebp - 0xcc], 0x2e
jl 0x4f4bf9
cmp dword [ebp - 0xd0], 0
jl 0x4f4bbb
cmp dword [ebp - 0xd0], 0
jne 0x4f4bed
cmp dword [ebp - 0xcc], 0x2f
jne 0x4f4bed
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004e3320
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f4be1
jmp 0x4f825b
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
jmp 0x4f4bf7
mov dword [ebp - 0xd0], 0
jmp 0x4f4c5d
cmp dword [ebp - 0xd0], 0
jg 0x4f4c14
cmp dword [ebp - 0xd0], 0
jne 0x4f4c46
cmp dword [ebp - 0xcc], 0x2c
jne 0x4f4c46
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e3540
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f4c3a
jmp 0x4f825b
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x11], 0
jmp 0x4f4c5d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e3300
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x4f4c78
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x4f4c8c
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
je 0x4f4d05
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e99d0
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x15], 1
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xcc]
cmp dword [edx], 0
je 0x4f4eae
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
jle 0x4f4da8
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xbc], cx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], edx
mov eax, 0x10
mov word [ebp - 0xba], ax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
jmp 0x4f4e37
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f4dd0
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x1d0], eax
jmp 0x4f4dda
mov dword [ebp - 0x1d0], 0
push 0x97
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
push edx
call fcn.004edfe0
add esp, 0x14
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x4f4e20
jmp 0x4f8230
mov eax, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
or ecx, 0x10
mov edx, dword [ebp - 0xc4]
mov word [edx + 6], cx
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
push eax
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
jne 0x4f4e7a
mov edx, dword [ebp - 0xc4]
push edx
call fcn.004ee1d0
add esp, 4
cmp dword [ebp - 8], 0
je 0x4f4e85
jmp case.0x4f0ce0.16
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x44], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x32
jne 0x4f4ed9
cmp dword [ebp - 0xd0], 0
je 0x4f4ed7
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x4f4ef4
cmp dword [ebp - 0xd0], 0
jne 0x4f4ef4
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov ax, word [edx + 6]
mov word [ebp - 0xc4], ax
xor ecx, ecx
mov word [ebp - 0xd0], cx
jmp 0x4f4f9a
mov dx, word [ebp - 0xd0]
add dx, 1
mov word [ebp - 0xd0], dx
movzx eax, word [ebp - 0xd0]
movzx ecx, word [ebp - 0xc4]
cmp eax, ecx
jge 0x4f4fe6
movzx edx, word [ebp - 0xd0]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xc0]
movzx ecx, word [eax + edx + 0x1c]
and ecx, 1
je 0x4f4fe4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xc8], 0
jmp 0x4f4fe6
jmp 0x4f4f88
cmp dword [ebp - 0xc8], 0
je 0x4f50cd
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xb8], edx
movzx eax, word [ebp - 0xc4]
add eax, 1
mov word [ebp - 0xb4], ax
mov ecx, 0x20
mov word [ebp - 0xb2], cx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004e9bb0
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x40
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
movzx ecx, word [ebp - 0xb2]
and ecx, 0x20
jne 0x4f50a2
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa0]
jne 0x4f50b6
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
jne 0x4f50b6
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x4f50cd
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xac]
mov dword [eax + 4], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x4f51e2
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0xc8]
push eax
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
mov dword [ecx + 0xc], edx
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x11], al
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x14], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x15], 0
cmp dword [ebp - 0xc8], 0
je 0x4f51d1
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x40], edx
jmp 0x4f5201
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x40], 0
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x30]
mov dword [edx], eax
mov ecx, dword [ecx + 0x34]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [eax + 0x34]
adc edx, 0
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x34]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
jne 0x4f52aa
jmp 0x4f56a1
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x13]
test edx, edx
jne 0x4f553b
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e2040
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x4f5394
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004e2d70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f531b
jmp 0x4f825b
cmp dword [ebp - 0xc4], 0
je 0x4f533a
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], 0
jmp 0x4f5394
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004e2180
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0xffffffff
jne 0x4f5376
cmp dword [ebp - 0xcc], 0x7fffffff
jne 0x4f5376
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x13], 1
jmp 0x4f5394
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov edx, dword [ebp - 0xcc]
adc edx, 0
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
je 0x4f54d1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xdc], 0
je 0x4f53fb
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xdc]
mov dword [ebp - 0xb8], eax
jmp 0x4f53d0
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x3c], 0
je 0x4f53de
jmp 0x4f53c1
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xb8]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xbc], edx
jmp 0x4f5413
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004e9bb0
add esp, 4
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp dword [edx], 0xffffffff
jne 0x4f5448
mov eax, dword [ebp - 0x1d4]
cmp dword [eax + 4], 0x7fffffff
je 0x4f5456
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x13]
test edx, edx
je 0x4f5462
mov dword [ebp - 8], 0xd
jmp 0x4f825b
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x1d8]
jg 0x4f54ba
jl 0x4f549d
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x1dc]
jae 0x4f54ba
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 4], ecx
cmp dword [ebp - 0xcc], 0x7fffffff
jg 0x4f5508
jl 0x4f54e8
cmp dword [ebp - 0xd0], 0xffffffff
jae 0x4f5508
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], eax
jmp 0x4f551c
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0x1e4]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e1ff0
add esp, 0xc
mov edx, dword [ebp - 0xc8]
movzx eax, byte [edx + 0x13]
test eax, eax
je 0x4f5680
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0
jne 0x4f55d2
mov ecx, dword [ebp - 0xd0]
and ecx, 0xffffff
mov edx, dword [ebp - 0xcc]
and edx, 0
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1ec]
cmp eax, dword [ebp - 0xd0]
jne 0x4f55d2
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0xcc]
jne 0x4f55d2
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x4f560d
lea ecx, [ebp - 0xd0]
push ecx
push 8
call fcn.004ce650
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x4f560d
mov edx, dword [ebp - 0xd0]
and edx, 0xffffff
mov eax, dword [ebp - 0xcc]
and eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xc4]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x64
jge 0x4f5665
cmp dword [ebp - 8], 0
jne 0x4f5665
cmp dword [ebp - 0xc4], 0
je 0x4f556c
cmp dword [ebp - 8], 0
jne 0x4f5680
cmp dword [ebp - 0xc4], 0
jne 0x4f5680
mov dword [ebp - 8], 0xd
jmp 0x4f825b
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x37
jne 0x4f572c
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc4], edx
jmp 0x4f5742
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x4f5760
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x4f5784
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x4f57ad
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4f57cd
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x1f0], eax
jmp 0x4f57d7
mov dword [ebp - 0x1f0], 0
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4f5804
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xbc], edx
jmp 0x4f580e
mov dword [ebp - 0xbc], 0
push 0
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.004e1ff0
add esp, 0xc
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 8
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.004e6270
add esp, 0x24
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x4f5944
mov edx, dword [ebp - 4]
cmp dword [edx + 0xb8], 0
je 0x4f5944
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x4f5944
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x18
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb8], 0
je 0x4f59a5
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
je 0x4f59a5
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004ed930
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f59c2
jmp 0x4f825b
push 0
push 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004e1ff0
add esp, 0xc
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004e6550
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x4f5a76
mov edx, dword [ebp - 4]
cmp dword [edx + 0xb8], 0
je 0x4f5a76
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x4f5a76
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
mov edx, dword [ebp - 0x118]
push edx
push 9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x18
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
and edx, 1
je 0x4f5a93
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004ee6f0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004ed930
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f5b15
jmp 0x4f825b
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x17]
test eax, eax
je 0x4f5b80
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e2180
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [ebp - 0x1f4]
jl 0x4f5b72
jg 0x4f5b6d
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0x1f8]
jbe 0x4f5b72
jmp 0x4f820c
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x4f5bac
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e21d0
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [eax + 0x48]
jbe 0x4f5bac
jmp 0x4f820c
push 0
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004e93d0
add esp, 0xc
test eax, eax
je 0x4f5bcd
jmp 0x4f8230
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x4f5c2e
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e26f0
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4f5c53
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004e2710
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1f], 1
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x4f5ca1
mov eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x15]
test eax, eax
je 0x4f5ccc
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc4], eax
jmp 0x4f5d8e
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x38], 0
je 0x4f5d2e
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x30]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0a40
add esp, 8
jmp 0x4f5d8e
mov edx, dword [ebp - 0xd0]
push edx
call fcn.004ed930
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f5d4b
jmp 0x4f825b
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x11]
test ecx, ecx
je 0x4f5d73
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xc4], ecx
jmp 0x4f5d8e
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.004e2180
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 4], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x14], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xd0]
cmp dword [eax], 0
je 0x4f5df2
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.004de3b0
add esp, 4
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x4f5e32
mov dword [ebp - 0xc8], 1
jmp 0x4f5e4b
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e2d70
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x14], cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
jle 0x4f5ea2
cmp dword [ebp - 0xc8], 0
je 0x4f5ea2
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb4]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb4], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x4f5f44
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004e2d20
add esp, 8
mov dword [ebp - 8], eax
xor edx, edx
cmp dword [ebp - 0xc8], 0
sete dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x12], dl
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x44], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ebp - 0xc8]
mov byte [ecx + 0x14], dl
cmp dword [ebp - 0xc8], 0
je 0x4f5f6e
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 4]
cmp dword [edx + 0xe0], 0
je 0x4f5f84
jmp 0x4f82a0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
jne 0x4f5faa
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x4f5fd0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x14], 1
jmp case.0x4f0ce0.16
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x43
jne 0x4f6006
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e3320
add esp, 8
mov dword [ebp - 0x1fc], eax
jmp 0x4f6022
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004e3540
add esp, 8
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x14], cl
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x44], 0
cmp dword [ebp - 0xc8], 0
jne 0x4f609b
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x4f609b
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0xac]
add ecx, 1
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0xac], ecx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x11], 0
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x4f61cc
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x4f611e
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e95f0
add esp, 4
mov dword [ebp - 0x200], eax
jmp 0x4f6128
mov dword [ebp - 0x200], 0
mov ecx, dword [ebp - 0x200]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
jne 0x4f61cc
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4f6179
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x204], eax
jmp 0x4f6183
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x600950
mov eax, dword [ebp - 0xc8]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e6270
add esp, 0x24
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], 0
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
je 0x4f6299
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xf8]
mov dx, word [ecx + 0xc]
mov word [ebp - 0xbc], dx
xor eax, eax
mov word [ebp - 0xba], ax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004e2df0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f628c
cmp dword [ebp - 0xc8], 0
jne 0x4f628c
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004e6550
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x44], 0
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je 0x4f6355
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004ed930
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f62f9
jmp 0x4f825b
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
jne 0x4f6355
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004ee480
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f632f
jmp 0x4f825b
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 4], ecx
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
cmp dword [eax], 0
je 0x4f6449
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xc4], cx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x4f63bd
mov ecx, 0xc
mov word [ebp - 0xc2], cx
jmp 0x4f63c9
mov edx, 4
mov word [ebp - 0xc2], dx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xb8], ecx
lea edx, [ebp - 0xcc]
push edx
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004ee610
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x51
jne 0x4f641f
mov ecx, dword [ebp - 0xcc]
neg ecx
mov dword [ebp - 0xcc], ecx
jmp 0x4f642e
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jle 0x4f6449
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x88]
mov dword [ebp - 0xc8], eax
jmp 0x4f6478
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x4f64bc
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4f64ba
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x65]
cmp edx, 2
jge 0x4f64ba
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x54], 0
jl 0x4f64ba
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x4f6469
mov edx, 1
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xcc], 1
jle 0x4f64e7
mov dword [ebp - 8], 6
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x38], 2
jmp 0x4f6586
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xc4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004e7000
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
jne 0x4f6586
cmp dword [ebp - 0xd0], 0
je 0x4f6586
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc4]
shl edx, 4
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
push edx
call fcn.00506430
add esp, 0xc
mov byte [ebp - 0xee], 1
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
neg edx
sbb edx, edx
lea eax, [ebp - 0xd0]
and edx, eax
push edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004e6d40
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0xc], 0
je 0x4f663c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, dword [ebp - 0xd0]
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
jle 0x4f663c
mov ecx, dword [ebp - 0xf8]
mov ecx, dword [ecx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0xd0]
cdq
mov esi, dword [ebp - 0xfc]
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0xfc]
mov dword [esi + edx], eax
mov dword [esi + edx + 4], ecx
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x62
jne 0x4f667d
mov dword [ebp - 0xcc], 5
jmp 0x4f6687
mov dword [ebp - 0xcc], 2
mov edx, dword [ebp - 0xcc]
push edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 4]
push edx
call fcn.004e6b30
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004ddb20
add esp, 4
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
jne 0x4f6708
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
movzx ecx, word [eax + 0x4a]
and ecx, 1
je 0x4f680b
mov edx, 1
test edx, edx
je 0x4f6726
cmp dword [ebp - 0xd0], 1
jne 0x4f6726
mov dword [ebp - 0x208], str.sqlite_temp_master
jmp 0x4f6730
mov dword [ebp - 0x208], str.sqlite_master
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov eax, dword [ebp - 4]
push eax
call fcn.004ce220
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x4f67ad
mov dword [ebp - 8], 7
jmp 0x4f680b
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x7c], 1
mov dword [ebp - 0xb8], 0
push 0
lea edx, [ebp - 0xc4]
push edx
push fcn.00514840
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00511400
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f67f1
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004cc360
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x7c], 0
mov eax, dword [ebp - 4]
push eax
call fcn.004ddc20
add esp, 4
cmp dword [ebp - 8], 7
jne 0x4f6822
jmp 0x4f8230
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00502770
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.005045a0
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005040d0
add esp, 0xc
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0051d3b0
add esp, 0xc
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004cc630
add esp, 8
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x4f68f1
jmp 0x4f8230
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xc8], 0
jmp 0x4f693c
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xd0]
jge 0x4f6973
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x100]
push eax
call fcn.004e99d0
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
jmp 0x4f692d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004e8160
add esp, 0x14
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004cc360
add esp, 8
mov eax, dword [ebp - 0xc4]
cdq
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9cd0
add esp, 4
cmp dword [ebp - 0xc4], 0
jne 0x4f6a18
jmp 0x4f6a47
cmp dword [ebp - 0xc0], 0
jne 0x4f6a28
jmp 0x4f8230
push fcn.004cc2e0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004ea020
add esp, 0x14
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.004e9390
add esp, 8
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x4f6ac5
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004e9e10
add esp, 4
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x4f6ac5
jmp 0x4f8230
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
push edx
call fcn.004d5480
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x4f6af9
jmp 0x4f82a0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x4f6b3c
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
push ecx
call fcn.004d59c0
add esp, 8
test eax, eax
jne 0x4f6b5f
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9cd0
add esp, 4
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x4f6b88
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
push edx
call fcn.004e9d80
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4f6bfe
mov edx, dword [ebp - 0x100]
push edx
call fcn.004e9e10
add esp, 4
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4f6bfe
jmp 0x4f8230
cmp dword [ebp - 0xd0], 0
je 0x4f6c77
cmp dword [ebp - 0xd0], 0
jl 0x4f6c21
mov edx, dword [ebp - 0xd0]
and edx, 0xf
mov dword [ebp - 0x20c], edx
jmp 0x4f6c2b
mov dword [ebp - 0x20c], 0xff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
movzx eax, byte [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
push edx
call fcn.004d5a20
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x4f6c77
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x4f0ce0.16
cmp dword [ebp - 0xd0], 0
jl 0x4f6c9e
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx]
push eax
call fcn.004d5480
add esp, 0xc
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x4f6d31
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xdc]
mov dword [ebp - 0xbc], ecx
jmp 0x4f6d07
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x4f6d23
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0xb4]
je 0x4f6d23
jmp 0x4f6cf8
cmp dword [ebp - 0xbc], 0
je 0x4f6d31
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0xe0]
cmp edx, dword [ecx + 0x70]
jl 0x4f6d66
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0xc
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0x40
jne 0x4f6f12
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xb8]
add edx, dword [eax + 0xc]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4 + 0x40]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004cc5f0
add esp, 8
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x4f6dd4
jmp 0x4f8230
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004e9930
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xbc]
mov dword [ecx], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x32]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x24]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xbc]
lea eax, [edx + ecx + 0x40]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x40
mov dword [ebp - 0xc4], ecx
jmp 0x4f6ee5
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xc0]
je 0x4f6f10
mov ecx, 1
mov edx, dword [ebp - 0xc4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x10], ecx
jmp 0x4f6ed6
jmp 0x4f6f20
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xe0]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xe0], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xdc]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x30], eax
mov edx, dword [edx + 0x34]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
mov dword [eax + 0x38], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0xdc], edx
mov eax, dword [ebp - 0xbc]
add eax, 0x18
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x24]
mov dword [eax + 0x48], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xbc]
mov dx, word [ecx + 0x28]
mov word [eax + 0x32], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x34], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0xd8], 0xffffffff
jmp case.0x4f0ce0.16
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xdc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 4]
add edx, dword [eax + ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xd0]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xcc], edx
push 0x1000
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004e9ef0
add esp, 0xc
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x4f70aa
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1e0]
mov ecx, dword [ecx + 0x1e4]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e0], eax
mov dword [edx + 0x1e4], ecx
jmp 0x4f70d4
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0xc8], eax
mov dword [edx + 0xcc], ecx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x4f711c
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x210]
mov ecx, dword [edx + 0x1e0]
or ecx, dword [eax + 0x1e4]
jne 0x4f711a
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x4f7151
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
mov ecx, dword [edx + 0xc8]
or ecx, dword [eax + 0xcc]
jne 0x4f7151
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xdc], 0
je 0x4f71ad
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xdc]
mov dword [ebp - 0xcc], eax
jmp 0x4f7182
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x3c], 0
je 0x4f7190
jmp 0x4f7173
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xcc]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xd0], edx
jmp 0x4f71c5
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004e9bb0
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.004e9bb0
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x4f7251
jl 0x4f723b
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x4f7251
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
cmp dword [edx + 4], 0
jl 0x4f72a5
jg 0x4f7293
mov eax, dword [ebp - 0x220]
cmp dword [eax], 0
jbe 0x4f72a5
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
cmp dword [eax + 4], 0
jg 0x4f72f9
jl 0x4f72e7
mov ecx, dword [ebp - 0x224]
cmp dword [ecx], 0
jae 0x4f72f9
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x228]
mov eax, dword [ecx]
or eax, dword [edx + 4]
jne 0x4f7369
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xcc], 0
jmp 0x4f73c9
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 0x28
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x4f73fa
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.004f06c0
add esp, 4
jmp 0x4f73ab
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x18], ecx
mov eax, 1
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 3]
and eax, 8
je 0x4f74a7
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
lea edx, [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
cmp dword [ebp - 0x8c], 0
je 0x4f7501
lea edx, [ebp - 0xb8]
push edx
call fcn.004eeb50
add esp, 4
push eax
push 0x606830
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0x10
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 8], edx
lea eax, [ebp - 0xb8]
push eax
call fcn.004e9930
add esp, 4
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.004e97f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f7577
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004eeb50
add esp, 4
push eax
push 0x606830
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.004cc8c0
add esp, 0x10
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004e9390
add esp, 8
mov edx, dword [ebp - 0xd0]
push edx
call fcn.004e9ea0
add esp, 4
test eax, eax
je 0x4f75a6
jmp 0x4f820c
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0052cb80
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x80], 0
jne 0x4f7606
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ebc50
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.004ed090
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004e72d0
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004dade0
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc8], 0xffffffff
jne 0x4f7661
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004dadf0
add esp, 4
test eax, eax
jne 0x4f7680
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004daa40
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc8], 5
jne 0x4f76ca
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4f76be
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004daf30
add esp, 4
test eax, eax
jne 0x4f76ca
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xc4]
je 0x4f77d0
cmp dword [ebp - 0xc4], 5
je 0x4f76f2
cmp dword [ebp - 0xc8], 5
jne 0x4f77d0
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x4f7709
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x4f7755
mov dword [ebp - 8], 1
cmp dword [ebp - 0xc8], 5
jne 0x4f7725
mov dword [ebp - 0x22c], str.into
jmp 0x4f772f
mov dword [ebp - 0x22c], str.out_of
mov edx, dword [ebp - 0x22c]
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0x10
jmp case.0x4f0ce0.16
cmp dword [ebp - 0xc4], 5
jne 0x4f778e
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004db010
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f778c
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004dac90
add esp, 8
jmp 0x4f77a8
cmp dword [ebp - 0xc4], 4
jne 0x4f77a8
push 2
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004dac90
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4f77d0
xor eax, eax
cmp dword [ebp - 0xc8], 5
sete al
add eax, 1
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004e87e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f77e2
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004dac90
add esp, 8
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, 0xa02
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00512130
add esp, 4
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x14]
push eax
call fcn.004cf400
add esp, 4
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0xe4]
mov byte [edx + 0x1f], 1
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004e9390
add esp, 8
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.0051f270
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004e1710
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x4f78e6
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
mov dword [ebp - 8], 0
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
jne 0x4f7905
mov ecx, dword [ebp - 4]
push ecx
call fcn.004ee720
add esp, 4
jmp 0x4f790c
mov edx, dword [ebp + 8]
mov byte [edx + 0x62], 1
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x11d], cl
movzx edx, byte [ebp - 0x11d]
test edx, edx
jne 0x4f7939
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
and ecx, 0x80000
jne 0x4f79b5
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x124], eax
movzx ecx, byte [ebp - 0x11d]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x124]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004e86d0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 6
jne 0x4f79b5
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
push edx
push str.database_table_is_locked:__s
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0x10
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00520a70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0
je 0x4f79fe
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004f0a40
add esp, 8
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00520510
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x4f0ce0.16
mov eax, dword [ebp + 8]
mov byte [eax + 0x65], 2
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00520800
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x65], 0
jmp case.0x4f0ce0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004f0a40
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4f7b4d
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0720
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x4f7b31
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax + 0x3c], ecx
jmp 0x4f7b4d
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], 0
jmp 0x4f7c09
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xd0]
jge 0x4f7c52
mov ecx, dword [ebp - 0xac]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + ecx*4]
push eax
call fcn.004f06c0
add esp, 4
jmp 0x4f7bfa
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 1
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x20]
call eax
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 0
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004f0a40
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4f7ccb
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x4f7ce6
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x14], 0
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x12c]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x4f7d47
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004e9cd0
add esp, 4
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
push 0x40
push 0
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00555bf0
add esp, 0xc
mov edx, dword [ebp - 0xc8]
push edx
lea eax, [ebp - 0xb8]
push eax
call fcn.004e9fd0
add esp, 8
movzx ecx, word [ebp - 0x9c]
and ecx, 0xffffbf00
or ecx, 1
mov word [ebp - 0x9c], cx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x2c]
call edx
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0a40
add esp, 8
cmp dword [ebp - 0x8c], 0
je 0x4f7df7
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 8], edx
movzx eax, byte [ebp - 0xed]
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.004e9390
add esp, 8
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004e9fd0
add esp, 8
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004e9ea0
add esp, 4
test eax, eax
je 0x4f7e3c
jmp 0x4f820c
jmp case.0x4f0ce0.16
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x4f7e76
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp + 8]
mov byte [edx + 0x65], 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 0
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004f0a40
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4f7ef5
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x4f7f10
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x4f0ce0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0a40
add esp, 8
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x34], 0
je 0x4f80b2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], 0
jmp 0x4f7ff9
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xc8]
jge 0x4f803c
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.004f06c0
add esp, 4
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0xb4]
add edx, 0x28
mov dword [ebp - 0xb4], edx
jmp 0x4f7fea
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0a40
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4f80a3
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 4], 0
je 0x4f80a3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0xbc]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x4f0ce0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004df990
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f0ce0.16
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0x10], 0
je 0x4f8105
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x230], ecx
jmp 0x4f8114
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je case.0x4f0ce0.16
mov edx, dword [ebp - 4]
cmp dword [edx + 0x94], 0
je case.0x4f0ce0.16
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f0360
add esp, 8
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x98]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x94]
call eax
add esp, 8
mov ecx, dword [ebp - 0x130]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004cc360
add esp, 8
jmp 0x4f0bc3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
push edx
mov eax, dword [ebp - 0xd8]
push eax
push str.statement_aborts_at__d:___s___s
mov ecx, dword [ebp - 8]
push ecx
call fcn.004ce460
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.004ed140
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x4f81d3
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
mov dword [ebp - 8], 1
movzx ecx, byte [ebp - 0xee]
test ecx, ecx
je 0x4f81f3
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.005041b0
add esp, 8
mov eax, dword [ebp + 8]
add eax, 0x80
push eax
call fcn.004dddd0
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x4f82da
push str.string_or_blob_too_big
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x4f8185
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
push str.out_of_memory
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.004cc8c0
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x4f8185
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4f826d
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x4f829b
mov edx, dword [ebp - 8]
push edx
call fcn.0052c280
add esp, 4
push eax
push 0x606830
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.004cc8c0
add esp, 0x10
jmp 0x4f8185
mov dword [ebp - 8], 9
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.0052c280
add esp, 4
push eax
push 0x606830
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.004cc8c0
add esp, 0x10
jmp 0x4f8185
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0054d4f5
mov esp, ebp
pop ebp
ret