Function at 0x4a4f50
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x73c
mov eax, dword [0x59de30]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, 0x18
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0x14]
mov cl, byte [eax + 0x39]
mov byte [ebp - 0x15], cl
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp + 8]
push eax
call fcn.004ae800
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x64], 7
jne 0x4a4fd8
jmp 0x4abc35
mov eax, dword [ebp + 8]
mov dword [eax + 0x64], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x78], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x19c], 0
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xd8], 0
je 0x4a500a
jmp 0x4abcac
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 8], ecx
jmp 0x4a501e
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 0x10], 0
jne 0x4abbcf
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a5038
jmp 0x4abc35
mov eax, dword [ebp - 8]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x100], 0
je 0x4a50b6
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x108]
cmp ecx, dword [ebp - 0x38]
jne 0x4a50ad
xor eax, eax
je 0x4a506a
jmp 0x4abc60
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x104]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x100]
call eax
add esp, 4
mov dword [ebp - 0xd4], eax
xor eax, eax
je 0x4a5091
jmp 0x4abc60
cmp dword [ebp - 0xd4], 0
je 0x4a50a6
mov dword [ebp - 0x10], 9
jmp 0x4abbcf
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dl, byte [ecx + 0x55be80]
mov byte [ebp - 0x29], dl
movzx eax, byte [ebp - 0x29]
and eax, 2
je 0x4a5107
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad890
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x18], 0
jmp 0x4a51af
movzx eax, byte [ebp - 0x29]
and eax, 4
je 0x4a5177
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x1c], ecx
movzx eax, byte [ebp - 0x29]
and eax, 8
je 0x4a515a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x20], ecx
movzx eax, byte [ebp - 0x29]
and eax, 0x20
je 0x4a5158
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
jmp 0x4a5175
movzx eax, byte [ebp - 0x29]
and eax, 0x10
je 0x4a5175
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x24], ecx
jmp 0x4a51af
movzx eax, byte [ebp - 0x29]
and eax, 8
je 0x4a5194
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x20], ecx
jmp 0x4a51af
movzx eax, byte [ebp - 0x29]
and eax, 0x10
je 0x4a51af
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
sub edx, 1
mov dword [ebp - 0x730], edx
cmp dword [ebp - 0x730], 0x90
ja case.0x4a51e0.11
mov eax, dword [ebp - 0x730]
jmp dword [eax*4 + 0x4abcf8]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xd8], 0
je 0x4a51f8
jmp 0x4abcac
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x1c], ecx
mov eax, 4
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 8]
cdq
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, 4
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 8]
cdq
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 8], eax
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne case.0x4a51e0.38
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov dword [eax + 0x64], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4a52dc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
push 0x57ea58
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 8]
add eax, 0x74
push eax
call fcn.0049f340
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.004ac0d0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 5
jne 0x4a5303
mov dword [ebp - 0x10], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
jmp 0x4a532b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x64], 0
je 0x4a5318
mov dword [ebp - 0x730], 1
jmp 0x4a5322
mov dword [ebp - 0x730], 0x65
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x10], ecx
jmp 0x4abbfb
mov eax, 4
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4a51e0.11
mov eax, 4
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [edx], eax
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
jmp case.0x4a51e0.11
mov eax, 8
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x28]
movsd xmm0, qword [ecx]
movsd qword [edx + 8], xmm0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x1c
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004a09d0
add esp, 4
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0x15]
cmp eax, 1
je 0x4a5498
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.004adae0
add esp, 0x14
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004a4630
add esp, 8
test eax, eax
je 0x4a53f2
jmp 0x4abc35
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad5d0
add esp, 4
test eax, eax
je 0x4a5407
jmp 0x4abc35
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
or ecx, 0x800
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4a5458
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp - 0xc]
mov byte [eax + 1], 0xff
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
cmp ecx, dword [edx + eax + 0x50]
jle 0x4a5493
jmp 0x4abc14
jmp case.0x4a51e0.11
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
cmp ecx, dword [edx + eax + 0x50]
jle case.0x4a51e0.27
jmp 0x4abc14
mov eax, 0xa02
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp - 0x15]
mov byte [eax + 0x1f], cl
jmp case.0x4a51e0.11
push 0
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004adae0
add esp, 0x14
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp - 0x15]
mov byte [eax + 0x1f], cl
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xe0], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0xe8]
sub ecx, 1
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0x730], 0
jle 0x4a55f8
mov eax, dword [ebp - 0xdc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x38]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004adf20
add esp, 4
test eax, eax
je 0x4a55a2
jmp 0x4abc14
mov eax, dword [ebp - 0xe0]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad890
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
push 0x800
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004addc0
add esp, 0xc
jmp 0x4a553e
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xf0], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xf4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xf8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0xf0]
sub ecx, 1
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0x730], 0
je 0x4a56af
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004ad690
add esp, 8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xec]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x1c]
add eax, 0x28
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
add eax, 0x28
mov dword [ebp - 0x28], eax
jmp 0x4a5645
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
push 0x1000
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004addc0
add esp, 0xc
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x4a56ff
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad5d0
add esp, 4
test eax, eax
je 0x4a56ff
jmp 0x4abc35
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
push 0x1000
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004addc0
add esp, 0xc
jmp case.0x4a51e0.11
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004a4a20
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a574c
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
add ecx, 2
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x50], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
add eax, ecx
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x730]
mov dword [ecx + 0x78], edx
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0
jmp 0x4a57a8
mov eax, dword [ebp - 0x100]
add eax, 1
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [eax + 8]
jge 0x4a57e8
mov eax, dword [ebp - 0x100]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
push eax
call fcn.004ad6e0
add esp, 4
mov eax, dword [ebp - 0x100]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
push eax
call fcn.00461c70
add esp, 4
jmp 0x4a5799
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a57f8
jmp 0x4abc35
mov eax, dword [ebp - 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x60], eax
mov dword [ebp - 0x10], 0x64
jmp 0x4abbfb
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4a5836
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad9e0
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a5859
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a5863
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4a5889
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004ade40
add esp, 8
test eax, eax
je 0x4a5889
jmp 0x4abc35
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a58ac
mov edx, dword [ebp - 0x20]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a58b6
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4a58dc
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004ade40
add esp, 8
test eax, eax
je 0x4a58dc
jmp 0x4abc35
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x20]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], edx
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax + 0x50]
cdq
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x730]
jl 0x4a5934
jg 0x4a592f
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x734]
jbe 0x4a5934
jmp 0x4abc14
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 2
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
jne 0x4a595f
mov dword [ebp - 0x730], 1
jmp 0x4a5969
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x730]
push ecx
mov edx, dword [ebp - 0x108]
add edx, 2
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad300
add esp, 0xc
test eax, eax
je 0x4a598f
jmp 0x4abc35
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x4a59b4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x14]
push edx
call fcn.004dc550
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x20]
add edx, dword [eax + 0x18]
push edx
call fcn.004dc550
add esp, 0xc
push 0
push 1
mov eax, dword [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.004e31b0
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x108]
add eax, 1
mov ecx, dword [ebp - 0x104]
adc ecx, 0
push 0
push 1
push ecx
push eax
call fcn.004e31b0
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp - 0x15]
mov byte [eax + 0x1f], cl
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00463f80
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call fcn.00463f80
add esp, 4
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x10c]
and eax, 1
je 0x4a5a8b
jmp 0x4a5e7e
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x4a5c96
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 0x114], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x11c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
sub edx, 0x54
mov dword [ebp - 0x730], edx
cmp dword [ebp - 0x730], 3
ja case.default.0x4a5afa
mov eax, dword [ebp - 0x730]
jmp dword [eax*4 + 0x4abf3c]
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
adc ecx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
jmp 0x4a5c66
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
sbb ecx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
jmp 0x4a5c66
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004e31b0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
jmp 0x4a5c66
mov eax, dword [ebp - 0x114]
or eax, dword [ebp - 0x110]
jne 0x4a5b98
jmp 0x4a5e7e
mov eax, dword [ebp - 0x114]
and eax, dword [ebp - 0x110]
cmp eax, 0xffffffff
jne 0x4a5bd2
cmp dword [ebp - 0x11c], 0
jne 0x4a5bd2
cmp dword [ebp - 0x118], 0x80000000
jne 0x4a5bd2
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004e3100
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
jmp 0x4a5c66
mov eax, dword [ebp - 0x114]
or eax, dword [ebp - 0x110]
jne 0x4a5c14
jmp 0x4a5e7e
mov eax, dword [ebp - 0x114]
and eax, dword [ebp - 0x110]
cmp eax, 0xffffffff
jne 0x4a5c39
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004e31f0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x11c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x118]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp 0x4a5e79
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ae870
add esp, 4
fstp qword [ebp - 0x124]
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ae870
add esp, 4
fstp qword [ebp - 0x12c]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
sub edx, 0x54
mov dword [ebp - 0x730], edx
cmp dword [ebp - 0x730], 3
ja case.default.0x4a5ce8
mov eax, dword [ebp - 0x730]
jmp dword [eax*4 + 0x4abf4c]
movsd xmm0, qword [ebp - 0x12c]
addsd xmm0, qword [ebp - 0x124]
movsd qword [ebp - 0x12c], xmm0
jmp 0x4a5e1d
movsd xmm0, qword [ebp - 0x12c]
subsd xmm0, qword [ebp - 0x124]
movsd qword [ebp - 0x12c], xmm0
jmp 0x4a5e1d
movsd xmm0, qword [ebp - 0x12c]
mulsd xmm0, qword [ebp - 0x124]
movsd qword [ebp - 0x12c], xmm0
jmp 0x4a5e1d
movsd xmm0, qword [ebp - 0x124]
ucomisd xmm0, qword [0x562d50]
lahf
test ah, 0x44
jp 0x4a5d61
jmp 0x4a5e7e
movsd xmm0, qword [ebp - 0x12c]
divsd xmm0, qword [ebp - 0x124]
movsd qword [ebp - 0x12c], xmm0
jmp 0x4a5e1d
fld qword [ebp - 0x124]
call fcn.004e33d6
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
fld qword [ebp - 0x12c]
call fcn.004e33d6
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x134]
or eax, dword [ebp - 0x130]
jne 0x4a5dbf
jmp 0x4a5e7e
mov eax, dword [ebp - 0x134]
and eax, dword [ebp - 0x130]
cmp eax, 0xffffffff
jne 0x4a5de4
mov dword [ebp - 0x134], 1
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.004e31f0
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
fild qword [ebp - 0x734]
fstp qword [ebp - 0x12c]
sub esp, 8
movsd xmm0, qword [ebp - 0x12c]
movsd qword [esp], xmm0
call fcn.004942b0
add esp, 8
test eax, eax
je 0x4a5e3b
jmp 0x4a5e7e
mov eax, dword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x12c]
movsd qword [eax + 8], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 8
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x10c]
and eax, 8
jne 0x4a5e79
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ac7f0
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad9e0
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], 0
jmp 0x4a5eec
mov eax, dword [ebp - 0x140]
add eax, 1
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x144]
add ecx, 0x28
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x18c]
jge 0x4a5f20
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x144]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x144]
push eax
call fcn.00461c70
add esp, 4
jmp 0x4a5ece
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x4a5f44
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], 0
jmp 0x4a5f5e
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x180], ecx
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax]
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, 1
mov word [ebp - 0x160], ax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x17c]
push ecx
call fcn.004ad690
add esp, 8
movzx eax, word [ebp - 0x160]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x160], ax
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x184]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4a5ff0
mov eax, 0x14
imul eax, eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + eax + 0x10]
mov dword [ebp - 0x14c], edx
xor eax, eax
je 0x4a5ff9
jmp 0x4abc60
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x18c]
push ecx
lea edx, [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
xor eax, eax
je 0x4a6034
lea eax, [ebp - 0x17c]
push eax
call fcn.004ad840
add esp, 4
jmp 0x4abc60
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a6053
lea eax, [ebp - 0x17c]
push eax
call fcn.004ad840
add esp, 4
jmp 0x4abc35
cmp dword [ebp - 0x180], 0
je 0x4a6085
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x180]
push edx
call fcn.004a4e40
add esp, 8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc]
mov byte [eax + 1], 0xf9
cmp dword [ebp - 0x150], 0
je 0x4a60bf
lea eax, [ebp - 0x17c]
push eax
call fcn.00460140
add esp, 4
push eax
push 0x57ea58
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x10], eax
movzx eax, byte [ebp - 0x15]
push eax
lea ecx, [ebp - 0x17c]
push ecx
call fcn.004a4630
add esp, 8
lea eax, [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004ad690
add esp, 8
mov eax, dword [ebp - 0x28]
push eax
call fcn.004adf20
add esp, 4
test eax, eax
je 0x4a60fb
jmp 0x4abc14
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4a6126
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad9e0
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0xc]
mov cl, byte [eax]
mov byte [ebp - 0x730], cl
cmp byte [ebp - 0x730], 0x50
je 0x4a617e
cmp byte [ebp - 0x730], 0x51
je 0x4a61a4
cmp byte [ebp - 0x730], 0x52
je 0x4a61ca
jmp 0x4a61ef
mov eax, dword [ebp - 0x194]
and eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x190]
and ecx, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], ecx
jmp 0x4a6212
mov eax, dword [ebp - 0x194]
or eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x190]
or ecx, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], ecx
jmp 0x4a6212
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x19c]
call fcn.004e32b0
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
jmp 0x4a6212
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x19c]
call fcn.004e32d0
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x194]
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4a51e0.11
movzx eax, byte [ebp - 0x15]
push eax
push 0x63
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00463ef0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x4a62ae
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0
jne 0x4a62a0
mov dword [ebp - 0x10], 0x14
jmp 0x4abc67
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a62c5
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 4
je 0x4a62e2
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad800
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a62f8
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x1c], ax
movzx eax, byte [ebp - 0x15]
push eax
push 0x61
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00463ef0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a634b
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a6355
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbfe3
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6388
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x4a63c0
movzx eax, byte [ebp - 0x15]
push eax
push 0x61
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00463ef0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x1c], cx
jmp 0x4a63d4
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffff10
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xd
jne 0x4a63f1
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad770
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a640e
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad590
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a642b
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad800
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x24]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
and eax, 1
je 0x4a64a5
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4a6488
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp 0x4a64a0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4a64a0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x67
mov byte [ebp - 0x1a5], cl
movsx eax, byte [ebp - 0x1a5]
test eax, eax
je 0x4a6502
movzx eax, byte [ebp - 0x15]
push eax
movzx ecx, byte [ebp - 0x1a5]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.00463ef0
add esp, 0xc
movzx eax, byte [ebp - 0x15]
push eax
movzx ecx, byte [ebp - 0x1a5]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call fcn.00463ef0
add esp, 0xc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a6502
jmp 0x4abc35
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a6525
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a652f
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a6552
mov edx, dword [ebp - 0x24]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a655c
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x24]
push eax
call fcn.00495130
add esp, 0xc
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
sub edx, 0x49
mov dword [ebp - 0x730], edx
cmp dword [ebp - 0x730], 4
ja case.default.0x4a65a7
mov eax, dword [ebp - 0x730]
jmp dword [eax*4 + 0x4abf5c]
cmp dword [ebp - 0x1a4], 0
jne 0x4a65c3
mov dword [ebp - 0x730], 1
jmp 0x4a65cd
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
jmp 0x4a66c3
cmp dword [ebp - 0x1a4], 0
je 0x4a65f3
mov dword [ebp - 0x730], 1
jmp 0x4a65fd
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
jmp 0x4a66c3
cmp dword [ebp - 0x1a4], 0
jge 0x4a6623
mov dword [ebp - 0x730], 1
jmp 0x4a662d
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
jmp 0x4a66c3
cmp dword [ebp - 0x1a4], 0
jg 0x4a6653
mov dword [ebp - 0x730], 1
jmp 0x4a665d
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
jmp 0x4a66c3
cmp dword [ebp - 0x1a4], 0
jle 0x4a6680
mov dword [ebp - 0x730], 1
jmp 0x4a668a
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
jmp 0x4a66c3
cmp dword [ebp - 0x1a4], 0
jl 0x4a66ad
mov dword [ebp - 0x730], 1
jmp 0x4a66b7
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4a6709
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x1a4]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4a671e
cmp dword [ebp - 0x1a4], 0
je 0x4a671e
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x34], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1bc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1b4], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b0], 0
jmp 0x4a677c
mov eax, dword [ebp - 0x1b0]
add eax, 1
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1ac]
jge 0x4a684b
cmp dword [ebp - 0x34], 0
je 0x4a67a8
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x730], edx
jmp 0x4a67b4
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1b0]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0x1c0]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
push ecx
mov eax, dword [ebp - 0x1b4]
add eax, dword [ebp - 0x1c0]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
push eax
call fcn.00495130
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a6846
cmp dword [ebp - 0x1c8], 0
je 0x4a6844
mov eax, dword [ebp - 0x30]
neg eax
mov dword [ebp - 0x30], eax
jmp 0x4a684b
jmp 0x4a676d
mov dword [ebp - 0x34], 0
jmp case.0x4a51e0.11
cmp dword [ebp - 0x30], 0
jge 0x4a686b
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a688b
cmp dword [ebp - 0x30], 0
jne 0x4a687f
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a688b
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a68a8
mov dword [ebp - 0x1cc], 2
jmp 0x4a68f0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov ecx, dword [ebp - 0x734]
or ecx, dword [ebp - 0x730]
je 0x4a68da
mov dword [ebp - 0x738], 1
jmp 0x4a68e4
mov dword [ebp - 0x738], 0
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6908
mov dword [ebp - 0x1d0], 2
jmp 0x4a6950
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov ecx, dword [ebp - 0x734]
or ecx, dword [ebp - 0x730]
je 0x4a693a
mov dword [ebp - 0x738], 1
jmp 0x4a6944
mov dword [ebp - 0x738], 0
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x43
jne 0x4a697a
mov eax, dword [ebp - 0x1cc]
imul eax, eax, 3
mov ecx, dword [ebp - 0x1d0]
movzx edx, byte [eax + ecx + 0x55eae8]
mov dword [ebp - 0x1cc], edx
jmp 0x4a6997
mov eax, dword [ebp - 0x1cc]
imul eax, eax, 3
mov ecx, dword [ebp - 0x1d0]
movzx edx, byte [eax + ecx + 0x55eaf4]
mov dword [ebp - 0x1cc], edx
cmp dword [ebp - 0x1cc], 2
jne 0x4a69b9
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp 0x4a69df
mov eax, dword [ebp - 0x1cc]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6a10
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad9e0
add esp, 4
jmp 0x4a6a61
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov ecx, dword [ebp - 0x734]
or ecx, dword [ebp - 0x730]
jne 0x4a6a42
mov dword [ebp - 0x738], 1
jmp 0x4a6a4c
mov dword [ebp - 0x738], 0
mov eax, dword [ebp - 0x738]
cdq
push edx
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004ad9a0
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6a92
mov eax, dword [ebp - 0x28]
push eax
call fcn.004ad9e0
add esp, 4
jmp 0x4a6ab0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ac730
add esp, 4
not eax
not edx
push edx
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004ad9a0
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6ad2
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1d4], ecx
jmp 0x4a6b52
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ae870
add esp, 4
fstp qword [ebp - 0x734]
movsd xmm0, qword [ebp - 0x734]
ucomisd xmm0, qword [0x562d50]
lahf
test ah, 0x44
jnp 0x4a6b06
mov dword [ebp - 0x738], 1
jmp 0x4a6b10
mov dword [ebp - 0x738], 0
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x44
jne 0x4a6b52
cmp dword [ebp - 0x1d4], 0
jne 0x4a6b3c
mov dword [ebp - 0x730], 1
jmp 0x4a6b46
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
je 0x4a6b67
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a6b92
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a6bb3
mov eax, dword [ebp - 0x1c]
add eax, 0x28
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1d8]
sub eax, 1
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
jg 0x4a6b78
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a6bd0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e8], 0
push 0x28
push 0
lea eax, [ebp - 0x234]
push eax
call fcn.004de2a0
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x20c], ecx
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x20c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x1e0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
cmp dword [eax], 0
je 0x4a6d39
mov eax, dword [ebp - 0x1e8]
push eax
call fcn.004a4bd0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a6c7d
jmp 0x4abc67
mov dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax]
mov dword [ebp - 0x1f0], ecx
mov eax, dword [ebp - 0x1e8]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x4a6caf
mov dword [ebp - 0x1dc], 0
jmp 0x4a6d28
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
cmp edx, dword [ecx + 0x50]
jne 0x4a6ce0
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0x1ec], ecx
jmp 0x4a6d28
mov eax, dword [ebp - 0x1e8]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4a6d12
lea eax, [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.00484ff0
add esp, 8
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1dc], eax
jmp 0x4a6d28
lea eax, [ebp - 0x1dc]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.00483790
add esp, 8
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x1fc], ecx
jmp 0x4a6d7d
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1ec], ecx
mov eax, dword [ebp - 0x1e8]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x1dc], 0
jne 0x4a6d8b
jmp 0x4a72c2
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1dc]
cmp edx, dword [ecx + eax + 0x50]
jle 0x4a6da7
jmp 0x4abc14
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
cmp edx, dword [ecx + 0x50]
jne 0x4a6ddb
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x1f8], ecx
jmp 0x4a710c
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1f4]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1f8]
mov dword [eax + 0x68], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1dc]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [eax + 0x5c], edx
cmp dword [ebp - 0x1ec], 0
je 0x4a6e41
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x208], eax
jmp 0x4a6ec1
mov eax, dword [ebp - 0x1e8]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4a6e6d
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.00484fb0
add esp, 8
mov dword [ebp - 0x208], eax
jmp 0x4a6e89
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.00483750
add esp, 8
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x1dc]
jl 0x4a6eb4
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x208]
mov dword [eax + 0x6c], ecx
jmp 0x4a6ec1
mov eax, dword [ebp - 0x1e8]
mov dword [eax + 0x6c], 0
mov eax, dword [ebp - 0x208]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x4a6eed
mov edx, dword [ebp - 0x208]
movzx eax, byte [edx]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x730], 1
jmp 0x4a6f0c
lea ecx, [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x208]
push edx
call fcn.004919c0
add esp, 8
movzx eax, al
mov dword [ebp - 0x730], eax
movzx ecx, byte [ebp - 0x730]
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x1ec], 0
jne 0x4a6f87
mov eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x248]
jge 0x4a6f87
xor eax, eax
mov word [ebp - 0x218], ax
mov dword [ebp - 0x224], 0
lea eax, [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x1e8]
movzx edx, byte [ecx + 0x19]
push edx
mov eax, dword [ebp - 0x248]
push eax
push 0
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.004ad1a0
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a6f7b
jmp 0x4a72c2
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
add eax, dword [ebp - 0x248]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x208]
add eax, dword [ebp - 0x24c]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x204], 0
jmp 0x4a6fc6
mov eax, dword [ebp - 0x204]
add eax, 1
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x1fc]
jge 0x4a70ad
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x244]
jae 0x4a7095
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x248]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x240]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x4a7034
mov edx, dword [ebp - 0x240]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x1f4]
mov dword [edx + ecx*4], eax
mov dword [ebp - 0x730], 1
jmp 0x4a705c
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1f4]
lea edx, [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x240]
push eax
call fcn.004919c0
add esp, 8
movzx ecx, al
mov dword [ebp - 0x730], ecx
movzx edx, byte [ebp - 0x730]
add edx, dword [ebp - 0x240]
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004af620
add esp, 4
add eax, dword [ebp - 0x248]
mov dword [ebp - 0x248], eax
jmp 0x4a70a8
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1f8]
mov dword [ecx + eax*4], 0
jmp 0x4a6fb7
lea eax, [ebp - 0x234]
push eax
call fcn.004ad840
add esp, 4
mov eax, 1
mov word [ebp - 0x218], ax
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x244]
ja 0x4a7100
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x1dc]
jg 0x4a7100
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x244]
jne 0x4a710c
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x1dc]
je 0x4a710c
mov dword [ebp - 0x10], 0xb
jmp 0x4a72c2
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1f8]
cmp dword [ecx + eax*4], 0
je 0x4a722e
cmp dword [ebp - 0x1ec], 0
je 0x4a7174
mov eax, dword [ebp - 0x20c]
push eax
call fcn.004ad890
add esp, 4
mov eax, dword [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1ec]
add eax, dword [edx + ecx*4]
push eax
call fcn.004aef70
add esp, 0xc
jmp 0x4a7220
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004af620
add esp, 4
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x234]
push ecx
call fcn.004ad690
add esp, 8
lea eax, [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x1e8]
movzx edx, byte [ecx + 0x19]
push edx
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.004ad1a0
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a71ee
jmp 0x4a72c2
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x208]
push ecx
call fcn.004aef70
add esp, 0xc
mov eax, dword [ebp - 0x20c]
mov cl, byte [ebp - 0x15]
mov byte [eax + 0x1f], cl
jmp 0x4a7255
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff8
jne 0x4a7255
push 0x800
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x20c]
push edx
call fcn.004addc0
add esp, 0xc
cmp dword [ebp - 0x210], 0
je 0x4a72b0
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffe7ff
mov edx, dword [ebp - 0x20c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0x20c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x220]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x20c]
push eax
call fcn.004ad5d0
add esp, 4
mov dword [ebp - 0x10], eax
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x254], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x258]
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x260], eax
jmp 0x4a731d
mov eax, dword [ebp - 0x260]
add eax, 0x28
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x25c]
ja 0x4a7398
mov eax, dword [ebp - 0x260]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a7354
mov edx, dword [ebp - 0x260]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4a735e
mov dword [ebp - 0x730], 0
movzx eax, byte [ebp - 0x15]
push eax
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x258]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x254]
mov al, byte [edx + eax]
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x260]
push edx
call fcn.00463ef0
add esp, 0xc
jmp 0x4a730e
jmp case.0x4a51e0.11
xorpd xmm0, xmm0
movlpd qword [ebp - 0x270], xmm0
mov dword [ebp - 0x274], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x27c], xmm0
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x294], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x298], ecx
mov eax, dword [ebp - 0x294]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x294], ecx
mov eax, dword [ebp - 0x294]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x7f]
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x268], eax
jmp 0x4a7444
mov eax, dword [ebp - 0x268]
add eax, 0x28
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x290]
ja 0x4a756f
cmp dword [ebp - 0x298], 0
je 0x4a7494
movzx eax, byte [ebp - 0x15]
push eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x28c]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x298]
mov al, byte [edx + eax]
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x268]
push edx
call fcn.00463ef0
add esp, 0xc
mov eax, dword [ebp - 0x268]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a74c1
mov eax, dword [ebp - 0x268]
cmp dword [eax + 0x18], 0
jle 0x4a74c1
mov eax, dword [ebp - 0x268]
push eax
call fcn.004ad040
add esp, 4
mov eax, dword [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x268]
push ecx
call fcn.004af490
add esp, 8
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
push eax
call fcn.004af620
add esp, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
cdq
add eax, dword [ebp - 0x270]
adc edx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x288]
xor ecx, ecx
push ecx
push eax
call fcn.004a4340
add esp, 8
add eax, dword [ebp - 0x274]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x268]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a7557
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x280]
add ecx, dword [eax]
mov dword [ebp - 0x280], ecx
jmp 0x4a756a
cmp dword [ebp - 0x2a4], 0
je 0x4a756a
mov dword [ebp - 0x280], 0
jmp 0x4a7435
mov eax, dword [ebp - 0x274]
cdq
push edx
push eax
call fcn.004a4340
add esp, 8
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
add eax, dword [ebp - 0x284]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
cdq
push edx
push eax
call fcn.004a4340
add esp, 8
cmp dword [ebp - 0x284], eax
jge 0x4a75c0
mov eax, dword [ebp - 0x274]
add eax, 1
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x270]
adc esi, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x280]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], esi
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax + 0x50]
cdq
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov edx, dword [ebp - 0x278]
cmp edx, dword [ebp - 0x730]
jl 0x4a762d
jg 0x4a7628
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x734]
jbe 0x4a762d
jmp 0x4abc14
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
push 0
mov eax, dword [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004ad300
add esp, 0xc
test eax, eax
je 0x4a765d
jmp 0x4abc35
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x274], 0x80
jae 0x4a768f
mov eax, dword [ebp - 0x264]
mov cl, byte [ebp - 0x274]
mov byte [eax], cl
mov dword [ebp - 0x730], 1
jmp 0x4a76ab
mov edx, dword [ebp - 0x274]
push edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.0049b560
add esp, 8
mov dword [ebp - 0x730], eax
movzx ecx, byte [ebp - 0x730]
mov dword [ebp - 0x2a0], ecx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x268], eax
jmp 0x4a76d5
mov eax, dword [ebp - 0x268]
add eax, 0x28
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x290]
ja 0x4a7769
mov eax, dword [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x268]
push ecx
call fcn.004af490
add esp, 8
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x80
jae 0x4a772f
mov eax, dword [ebp - 0x264]
add eax, dword [ebp - 0x2a0]
mov cl, byte [ebp - 0x288]
mov byte [eax], cl
mov dword [ebp - 0x730], 1
jmp 0x4a7751
mov edx, dword [ebp - 0x288]
push edx
mov eax, dword [ebp - 0x264]
add eax, dword [ebp - 0x2a0]
push eax
call fcn.0049b560
add esp, 8
mov dword [ebp - 0x730], eax
movzx ecx, byte [ebp - 0x730]
add ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a0], ecx
jmp 0x4a76c6
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x268], eax
jmp 0x4a7786
mov eax, dword [ebp - 0x268]
add eax, 0x28
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x290]
ja 0x4a77dd
mov eax, dword [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x268]
push ecx
mov eax, dword [ebp - 0x2a0]
cdq
mov ecx, dword [ebp - 0x27c]
sub ecx, eax
mov eax, dword [ebp - 0x278]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0x264]
add ecx, dword [ebp - 0x2a0]
push ecx
call fcn.004af360
add esp, 0x10
add eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a0], eax
jmp 0x4a7777
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0x280], 0
je 0x4a7827
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x280]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x1f], 1
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 0
je 0x4a786e
lea eax, [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
call fcn.004833a0
add esp, 8
mov dword [ebp - 0x10], eax
jmp 0x4a787a
xorpd xmm0, xmm0
movlpd qword [ebp - 0x2ac], xmm0
mov eax, 4
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2ac]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a8]
mov dword [eax + 4], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4a78b6
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x90], 1
jle 0x4a7933
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x2b4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0xd4], 0
jne 0x4a7917
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1dc]
add ecx, 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x1dc], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 0x1dc]
mov eax, dword [ebp + 8]
mov dword [eax + 0xd4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd4]
push ecx
mov edx, dword [ebp - 0x2b8]
push edx
call fcn.00482b70
add esp, 8
mov dword [ebp - 0x10], eax
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2c0], ecx
cmp dword [ebp - 0x2bc], 0
jne 0x4a7a5c
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 0
jle 0x4a798d
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 5
jmp 0x4a7a57
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.004a09d0
add esp, 4
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
add eax, 9
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004894e0
add esp, 8
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x4a7a57
mov eax, 8
shl eax, 0
add eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c4]
add eax, 1
push eax
mov ecx, dword [ebp - 0x2c0]
push ecx
mov edx, dword [ebp - 0x2c8]
mov eax, dword [edx]
push eax
call fcn.004dc550
add esp, 0xc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4a7a21
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e0], 1
jmp 0x4a7a36
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d8]
add ecx, 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x1d8], ecx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1d4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c8]
mov dword [eax + 0x1d4], ecx
jmp 0x4a7d4f
mov dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d4]
mov dword [ebp - 0x2cc], ecx
jmp 0x4a7a86
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2cc], ecx
cmp dword [ebp - 0x2cc], 0
je 0x4a7abc
mov eax, dword [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx]
push edx
call fcn.004a08b0
add esp, 8
test eax, eax
je 0x4a7abc
mov eax, dword [ebp - 0x2d0]
add eax, 1
mov dword [ebp - 0x2d0], eax
jmp 0x4a7a77
cmp dword [ebp - 0x2cc], 0
jne 0x4a7af0
mov eax, dword [ebp - 0x2c0]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
mov dword [ebp - 0x10], 1
jmp 0x4a7d4f
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 0
jg 0x4a7b11
cmp dword [ebp - 0x2bc], 2
jne 0x4a7b5b
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x90], 1
jle 0x4a7b5b
cmp dword [ebp - 0x2bc], 2
jne 0x4a7b26
mov dword [ebp - 0x730], str.rollback
jmp 0x4a7b30
mov dword [ebp - 0x730], str.release
mov eax, dword [ebp - 0x730]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
mov dword [ebp - 0x10], 5
jmp 0x4a7d4f
mov eax, dword [ebp - 0x2cc]
cmp dword [eax + 4], 0
jne 0x4a7b81
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x1e0]
test edx, edx
je 0x4a7b81
mov dword [ebp - 0x730], 1
jmp 0x4a7b8b
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0
je 0x4a7bfe
cmp dword [ebp - 0x2bc], 1
jne 0x4a7bfe
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp + 8]
push eax
call fcn.004ac0d0
add esp, 4
cmp eax, 5
jne 0x4a7be6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1c], 0
mov dword [ebp - 0x10], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
jmp 0x4abbfb
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x10], ecx
jmp 0x4a7ca7
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d8]
sub ecx, dword [ebp - 0x2d0]
sub ecx, 1
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2d8], 0
jmp 0x4a7c31
mov eax, dword [ebp - 0x2d8]
add eax, 1
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2d8]
cmp ecx, dword [eax + 4]
jge 0x4a7c79
mov eax, dword [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x2d8]
imul edx, edx, 0x18
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00486bf0
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a7c77
jmp 0x4abc67
jmp 0x4a7c22
cmp dword [ebp - 0x2bc], 2
jne 0x4a7ca7
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
and ecx, 0x10
je 0x4a7ca7
mov eax, dword [ebp - 0x14]
push eax
call fcn.0048b720
add esp, 4
push 0
mov eax, dword [ebp - 0x14]
push eax
call fcn.0049c030
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d4]
cmp ecx, dword [ebp - 0x2cc]
je 0x4a7d03
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d4]
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1d4], edx
mov eax, dword [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00489470
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d8]
sub ecx, 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x1d8], ecx
jmp 0x4a7ca7
cmp dword [ebp - 0x2bc], 1
jne 0x4a7d4f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1d4], edx
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00489470
add esp, 8
cmp dword [ebp - 0x2d4], 0
jne 0x4a7d4f
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1d8]
sub ecx, 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x1d8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2e0], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e0], 0
je 0x4a7d8c
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x4a7d8c
mov dword [ebp - 0x730], 1
jmp 0x4a7d96
mov dword [ebp - 0x730], 0
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2e8], 0
je 0x4a7de4
cmp dword [ebp - 0x2e4], 0
je 0x4a7de4
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x90], 1
jle 0x4a7de4
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 5
jmp 0x4a7f30
cmp dword [ebp - 0x2e8], 0
je 0x4a7e26
cmp dword [ebp - 0x2e4], 0
jne 0x4a7e26
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 1
jle 0x4a7e26
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 5
jmp 0x4a7f30
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0x2e0], ecx
je 0x4a7ecf
cmp dword [ebp - 0x2e4], 0
je 0x4a7e57
mov eax, dword [ebp - 0x14]
push eax
call fcn.0049c620
add esp, 4
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1c], 1
jmp 0x4a7ea3
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x2e0]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp + 8]
push eax
call fcn.004ac0d0
add esp, 4
cmp eax, 5
jne 0x4a7ea3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x60], ecx
mov eax, 1
sub eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x1c], al
mov dword [ebp - 0x10], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
jmp 0x4abbfb
mov eax, dword [ebp - 0x14]
push eax
call fcn.00487330
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x64], 0
jne 0x4a7ec1
mov dword [ebp - 0x10], 0x65
jmp 0x4a7ec8
mov dword [ebp - 0x10], 1
jmp 0x4abbfb
cmp dword [ebp - 0x2e0], 0
jne 0x4a7ee4
mov dword [ebp - 0x730], str.cannot_start_a_transaction_within_a_transaction
jmp 0x4a7f0f
cmp dword [ebp - 0x2e4], 0
je 0x4a7ef9
mov dword [ebp - 0x734], str.cannot_rollback___no_transaction_is_active
jmp 0x4a7f03
mov dword [ebp - 0x734], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 8]
add eax, 0x74
push eax
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 1
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ebp - 0x2ec]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
je 0x4a7fb1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x2f0]
push edx
call fcn.00482be0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 5
jne 0x4a7fa0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x60], ecx
mov dword [ebp - 0x10], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
jmp 0x4abbfb
cmp dword [ebp - 0x10], 0
je 0x4a7fb1
cmp dword [ebp - 0x10], 8
je 0x4a7fb1
jmp 0x4abc67
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2f8], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2fc], ecx
cmp dword [ebp - 0x2f8], 0
jge 0x4a7ff8
mov eax, dword [ebp - 0x2f8]
add eax, 1
imul eax, eax, 0xffffffff
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2fc]
imul eax, eax, 0xffffffff
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x2f4]
push eax
mov ecx, dword [ebp - 0x2fc]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x2f8]
imul edx, edx, 0x18
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00484230
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2f4]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 8]
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 8]
add eax, 1
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 4]
push edx
call fcn.004870c0
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0
jne 0x4a80c3
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
or ecx, 0x10
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], ecx
jmp 0x4a80dd
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 1
jne 0x4a80dd
mov eax, dword [ebp - 0x24]
mov cl, byte [eax]
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x14]
mov byte [eax + 0x38], cl
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 1
jne 0x4a80f2
mov eax, dword [ebp - 0x14]
push eax
call fcn.0048b720
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x308], ecx
cmp dword [ebp - 0x308], 0
je 0x4a8136
lea eax, [ebp - 0x304]
push eax
push 1
mov ecx, dword [ebp - 0x308]
push ecx
call fcn.00484230
add esp, 0xc
mov dword [ebp - 0x10], eax
jmp 0x4a8147
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x10], 0
jne 0x4a81c8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x304]
cmp ecx, dword [eax + 8]
je 0x4a81c8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
push 0x55b8a0
mov eax, dword [ebp - 0x14]
push eax
call fcn.00489760
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 0x14]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x304]
je 0x4a81b5
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0049c030
add esp, 8
mov eax, dword [ebp - 0x14]
push eax
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x10], 0x11
jmp case.0x4a51e0.11
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x310], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x314], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x318], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x31c], ecx
mov eax, dword [ebp - 0x31c]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 8]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x324], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x4a826a
mov dword [ebp - 0x320], 1
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 0x14]
movzx edx, byte [ecx + 0x38]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x7f]
cmp edx, ecx
jge 0x4a8268
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x38]
mov byte [edx + 0x7f], al
jmp 0x4a8274
mov dword [ebp - 0x320], 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4a82bd
mov eax, dword [ebp - 0x318]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x318], ecx
cmp dword [ebp - 0x318], 2
jge 0x4a82bd
mov dword [ebp - 0x10], 0xb
jmp 0x4abc67
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x4a830a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, 0x18
imul edx, edx, 0
mov eax, dword [ecx + 8]
mov ecx, dword [eax + edx + 0x14]
mov edx, dword [ebp - 0x310]
mov al, byte [ecx + 0x39]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x310]
movzx ecx, word [eax + 6]
add ecx, 1
mov dword [ebp - 0x30c], ecx
jmp 0x4a8322
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x4a8322
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x30c], ecx
push 1
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x30c]
push ecx
mov edx, dword [ebp - 0x314]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00462d30
add esp, 0x14
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
jne 0x4a8359
jmp 0x4abc35
mov eax, dword [ebp - 0x328]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x310]
push edx
mov eax, dword [ebp - 0x320]
push eax
mov ecx, dword [ebp - 0x318]
push ecx
mov edx, dword [ebp - 0x324]
push edx
call fcn.004835c0
add esp, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x310]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x730], eax
cmp dword [ebp - 0x730], 0
je 0x4a83ed
cmp dword [ebp - 0x730], 5
je 0x4a83cf
cmp dword [ebp - 0x730], 0x10
je 0x4a84db
jmp 0x4a8554
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x60], ecx
mov dword [ebp - 0x10], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
jmp 0x4abbfb
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax]
push ecx
call fcn.004840e0
add esp, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
and eax, 0xf0
jne 0x4a842d
mov eax, dword [ebp - 0x330]
and eax, 7
cmp eax, 5
je 0x4a8439
mov eax, dword [ebp - 0x330]
and eax, 7
cmp eax, 2
je 0x4a8439
mov dword [ebp - 0x10], 0xb
jmp 0x4abc67
mov eax, dword [ebp - 0x330]
and eax, 1
je 0x4a8450
mov dword [ebp - 0x730], 1
jmp 0x4a845a
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x328]
mov dl, byte [ebp - 0x730]
mov byte [ecx + 0x18], dl
mov eax, dword [ebp - 0x330]
and eax, 2
je 0x4a8480
mov dword [ebp - 0x730], 1
jmp 0x4a848a
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x328]
mov dl, byte [ebp - 0x730]
mov byte [ecx + 0x19], dl
mov eax, dword [ebp - 0x328]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x4a84b3
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
je 0x4a84cd
mov eax, dword [ebp - 0x328]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4a84d9
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
je 0x4a84d9
mov dword [ebp - 0x10], 0xb
jmp 0x4abc67
jmp 0x4a8559
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
je 0x4a84f3
mov dword [ebp - 0x730], 1
jmp 0x4a84fd
mov dword [ebp - 0x730], 0
mov edx, dword [ebp - 0x328]
mov al, byte [ebp - 0x730]
mov byte [edx + 0x18], al
mov eax, dword [ebp - 0x328]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
jne 0x4a8526
mov dword [ebp - 0x730], 1
jmp 0x4a8530
mov dword [ebp - 0x730], 0
mov edx, dword [ebp - 0x328]
mov al, byte [ebp - 0x730]
mov byte [edx + 0x19], al
mov eax, dword [ebp - 0x328]
mov dword [eax], 0
mov dword [ebp - 0x10], 0
jmp 0x4a8559
jmp 0x4abc67
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x334], ecx
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x334]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00462d30
add esp, 0x14
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0
jne 0x4a859c
jmp 0x4abc35
mov eax, dword [ebp - 0x338]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x338]
add eax, 0x28
push eax
mov ecx, dword [0x55b8f8]
push ecx
push 0x1f4
push 1
push 0
mov edx, dword [ebp - 0x14]
push edx
call fcn.00483fa0
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4a85ec
push 1
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00482be0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4a86c1
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4a8693
push 2
lea eax, [ebp - 0x33c]
push eax
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00483570
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4a8687
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x10]
push eax
push 1
mov ecx, dword [ebp - 0x33c]
push ecx
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + 0x28]
push eax
call fcn.004835c0
add esp, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x40], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, 0x18
imul edx, edx, 0
mov eax, dword [ecx + 8]
mov ecx, dword [eax + edx + 0x14]
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + 0x40]
mov cl, byte [ecx + 0x39]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x338]
mov byte [eax + 0x18], 0
jmp 0x4a86c1
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax]
push ecx
push 0
push 1
push 1
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + 0x28]
push eax
call fcn.004835c0
add esp, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x338]
mov byte [eax + 0x18], 1
mov eax, dword [ebp - 0x338]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
jne 0x4a86db
mov dword [ebp - 0x730], 1
jmp 0x4a86e5
mov dword [ebp - 0x730], 0
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x730]
mov byte [edx + 0x19], al
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x340], ecx
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x340]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00462d30
add esp, 0x14
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
jne 0x4a8737
jmp 0x4abc35
mov eax, dword [ebp - 0x344]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x344]
mov byte [eax + 0x15], 1
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0xc]
mov dl, byte [ecx + 8]
mov byte [eax + 0x16], dl
mov eax, dword [ebp - 0x344]
mov byte [eax + 0x18], 1
mov eax, dword [ebp - 0x344]
mov byte [eax + 0x19], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x348], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x348]
mov eax, dword [ecx + edx*4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004abfe0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x348]
mov dword [ecx + edx*4], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x34c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x34c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
cmp dword [eax], 0
je 0x4a8c1d
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x358], ecx
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x350]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x4a8a7c
mov eax, dword [ebp - 0x24]
push eax
call fcn.00463f80
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ac730
add esp, 4
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x4a8a14
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x1c]
and ecx, 8
jne 0x4a8866
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
cmp dword [ebp - 0x360], 0
jne 0x4a8970
cmp dword [ebp - 0x35c], 0x80000000
jne 0x4a8970
fild qword [ebp - 0x360]
fstp qword [ebp - 0x734]
fld qword [ebp - 0x734]
fstp qword [ebp - 0x73c]
movsd xmm0, qword [ebp - 0x73c]
mov eax, dword [ebp - 0x24]
comisd xmm0, xmmword [eax + 8]
ja 0x4a88c3
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [eax + 8]
comisd xmm0, xmmword [0x562d50]
jbe 0x4a8970
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [0x562d50]
comisd xmm0, xmmword [eax + 8]
jbe 0x4a8919
cmp dword [ebp - 0x358], 0x7b
je 0x4a88f1
cmp dword [ebp - 0x358], 0x6d
jne 0x4a8917
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx]
push edx
call fcn.00484080
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8917
jmp 0x4abc67
jmp 0x4a8951
cmp dword [ebp - 0x358], 0x46
je 0x4a892b
cmp dword [ebp - 0x358], 0x37
jne 0x4a8951
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx]
push edx
call fcn.00485070
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8951
jmp 0x4abc67
cmp dword [ebp - 0x354], 0
je 0x4a8966
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
cmp dword [ebp - 0x358], 0x46
je 0x4a8982
cmp dword [ebp - 0x358], 0x6d
jne 0x4a89cc
fild qword [ebp - 0x360]
fstp qword [ebp - 0x734]
fld qword [ebp - 0x734]
fstp qword [ebp - 0x73c]
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [eax + 8]
comisd xmm0, xmmword [ebp - 0x73c]
jbe 0x4a89ca
mov eax, dword [ebp - 0x360]
add eax, 1
mov ecx, dword [ebp - 0x35c]
adc ecx, 0
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
jmp 0x4a8a14
fild qword [ebp - 0x360]
fstp qword [ebp - 0x734]
fld qword [ebp - 0x734]
fstp qword [ebp - 0x73c]
movsd xmm0, qword [ebp - 0x73c]
mov eax, dword [ebp - 0x24]
comisd xmm0, xmmword [eax + 8]
jbe 0x4a8a14
mov eax, dword [ebp - 0x360]
sub eax, 1
mov ecx, dword [ebp - 0x35c]
sbb ecx, 0
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
lea eax, [ebp - 0x354]
push eax
push 0
mov ecx, dword [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x360]
push edx
push 0
mov eax, dword [ebp - 0x350]
mov ecx, dword [eax]
push ecx
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8a4c
jmp 0x4abc67
cmp dword [ebp - 0x354], 0
jne 0x4a8a77
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x360]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x35c]
mov dword [eax + 0xc], edx
jmp 0x4a8b20
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x37c], ecx
mov eax, dword [ebp - 0x350]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x378], ecx
mov ax, word [ebp - 0x37c]
mov word [ebp - 0x374], ax
cmp dword [ebp - 0x358], 0x7b
je 0x4a8ab7
cmp dword [ebp - 0x358], 0x37
jne 0x4a8ac5
mov eax, 8
mov word [ebp - 0x372], ax
jmp 0x4a8ace
xor eax, eax
mov word [ebp - 0x372], ax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x368], ecx
lea eax, [ebp - 0x354]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x350]
mov eax, dword [edx]
push eax
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8b16
jmp 0x4abc67
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x350]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x358], 0x6d
je 0x4a8b49
cmp dword [ebp - 0x358], 0x7b
jne 0x4a8ba2
cmp dword [ebp - 0x354], 0
jl 0x4a8b64
cmp dword [ebp - 0x354], 0
jne 0x4a8b96
cmp dword [ebp - 0x358], 0x7b
jne 0x4a8b96
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx]
push edx
call fcn.00485af0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8b8a
jmp 0x4abc67
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x11], 0
jmp 0x4a8ba0
mov dword [ebp - 0x354], 0
jmp 0x4a8c06
cmp dword [ebp - 0x354], 0
jg 0x4a8bbd
cmp dword [ebp - 0x354], 0
jne 0x4a8bef
cmp dword [ebp - 0x358], 0x46
jne 0x4a8bef
lea eax, [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx]
push edx
call fcn.00486700
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a8be3
jmp 0x4abc67
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x11], 0
jmp 0x4a8c06
mov eax, dword [ebp - 0x350]
mov ecx, dword [eax]
push ecx
call fcn.00483f70
add esp, 4
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0
je 0x4a8c1b
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a8c37
mov eax, dword [ebp - 0x350]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
jne 0x4a8c37
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x380], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x380]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
cmp dword [eax], 0
je 0x4a8c9e
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ac730
add esp, 4
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x17], 1
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x388]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x390]
cmp dword [ecx], 0
je 0x4a8dc6
push 0x97
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x390]
mov eax, dword [edx + 0x40]
push eax
call fcn.004aebb0
add esp, 0x14
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 0
jne 0x4a8d1d
jmp 0x4abc35
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x80
jne 0x4a8d42
mov eax, dword [ebp - 0x398]
movzx ecx, word [eax + 6]
or ecx, 0x10
mov edx, dword [ebp - 0x398]
mov word [edx + 6], cx
lea eax, [ebp - 0x394]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x398]
push ecx
mov edx, dword [ebp - 0x390]
mov eax, dword [edx]
push eax
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x398]
push eax
call fcn.004a4ec0
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x4a8d84
jmp case.0x4a51e0.11
cmp dword [ebp - 0x394], 0
jne 0x4a8d99
mov dword [ebp - 0x730], 1
jmp 0x4a8da3
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x390]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x390]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x80
jne 0x4a8deb
cmp dword [ebp - 0x38c], 0
je 0x4a8de9
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a8e00
cmp dword [ebp - 0x38c], 0
jne 0x4a8e00
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x3ac], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3a0], ecx
mov eax, dword [ebp - 0x3a0]
mov dword [eax + 0x58], 0
mov eax, dword [ebp - 0x3a0]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax]
mov dword [ebp - 0x3a4], ecx
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax + 0x40]
mov dx, word [ecx + 6]
mov word [ebp - 0x3a8], dx
xor eax, eax
mov word [ebp - 0x39c], ax
jmp 0x4a8e88
mov ax, word [ebp - 0x39c]
add ax, 1
mov word [ebp - 0x39c], ax
movzx eax, word [ebp - 0x39c]
movzx ecx, word [ebp - 0x3a8]
cmp eax, ecx
jge 0x4a8ece
movzx eax, word [ebp - 0x39c]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x3ac]
movzx edx, word [ecx + eax + 0x1c]
and edx, 1
je 0x4a8ecc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov dword [ebp - 0x3a4], 0
jmp 0x4a8ece
jmp 0x4a8e76
cmp dword [ebp - 0x3a4], 0
je 0x4a8fa6
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x3c4], ecx
movzx eax, word [ebp - 0x3a8]
add eax, 1
mov word [ebp - 0x3c0], ax
mov eax, 0x20
mov word [ebp - 0x3be], ax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x24]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x3a0]
add eax, 0x58
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x3c4]
push ecx
mov edx, dword [ebp - 0x3a4]
push edx
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0x3be]
and eax, 0x20
jne 0x4a8f84
mov eax, dword [ebp - 0x3bc]
cmp eax, dword [ebp - 0x3cc]
jne 0x4a8f92
mov ecx, dword [ebp - 0x3b8]
cmp ecx, dword [ebp - 0x3c8]
jne 0x4a8f92
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4a8fa6
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [eax + 4], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3d0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [ecx]
mov dword [ebp - 0x3d8], edx
cmp dword [ebp - 0x3d8], 0
je 0x4a90b9
mov dword [ebp - 0x3dc], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3e0], edx
lea eax, [ebp - 0x3dc]
push eax
push 0
mov ecx, dword [ebp - 0x3e0]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
push 0
mov eax, dword [ebp - 0x3d8]
push eax
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
cmp dword [ebp - 0x3dc], 0
jne 0x4a9059
mov dword [ebp - 0x730], 1
jmp 0x4a9063
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x730]
mov byte [eax + 0x11], cl
mov eax, dword [ebp - 0x3d4]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x3d4]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x3d4]
mov byte [eax + 0x17], 0
cmp dword [ebp - 0x3dc], 0
je 0x4a90a8
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x3dc]
mov dword [eax + 0x58], ecx
jmp 0x4a90e0
mov eax, dword [ebp - 0x3d4]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
jne 0x4a90e0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x3d4]
mov dword [eax + 0x58], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3e8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3e8]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + 0x48]
mov dword [ecx], edx
mov eax, dword [eax + 0x4c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x3e8]
mov ecx, dword [edx + eax*4]
mov edx, dword [ecx + 0x48]
add edx, 1
mov eax, dword [ecx + 0x4c]
adc eax, 0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x30]
mov esi, dword [ebp - 0x3e8]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x48], edx
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3ec], ecx
xorpd xmm0, xmm0
movlpd qword [ebp - 0x3f4], xmm0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
cmp dword [ecx], 0
jne 0x4a9197
jmp 0x4a95bb
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x404], 0
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax]
push ecx
call fcn.004840e0
add esp, 4
and eax, 3
cmp eax, 1
je 0x4a91da
mov dword [ebp - 0x10], 0xb
jmp 0x4abc67
mov eax, dword [ebp - 0x3f8]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
jne 0x4a9411
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax]
push ecx
call fcn.004841b0
add esp, 4
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f4]
or eax, dword [ebp - 0x3f0]
jne 0x4a92cf
lea eax, [ebp - 0x3fc]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
push edx
call fcn.00485070
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a9241
jmp 0x4abc67
cmp dword [ebp - 0x3fc], 0
je 0x4a9260
mov dword [ebp - 0x3f4], 1
mov dword [ebp - 0x3f0], 0
jmp 0x4a92cf
lea eax, [ebp - 0x3f4]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
push edx
call fcn.00484ff0
add esp, 8
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f0], ecx
cmp dword [ebp - 0x3f4], 0xffffffff
jne 0x4a92b1
cmp dword [ebp - 0x3f0], 0x7fffffff
jne 0x4a92b1
mov eax, dword [ebp - 0x3f8]
mov byte [eax + 0x13], 1
jmp 0x4a92cf
mov eax, dword [ebp - 0x3f4]
add eax, 1
mov ecx, dword [ebp - 0x3f0]
adc ecx, 0
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], ecx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc], 0
je 0x4a93af
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x410], ecx
mov eax, dword [ebp - 0x410]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
cmp dword [ecx], 0xffffffff
jne 0x4a9326
mov edx, dword [ebp - 0x730]
cmp dword [edx + 4], 0x7fffffff
je 0x4a9334
mov eax, dword [ebp - 0x3f8]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x4a9340
mov dword [ebp - 0x10], 0xd
jmp 0x4abc67
mov eax, dword [ebp - 0x410]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x734], ecx
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x730]
jg 0x4a9398
jl 0x4a937b
mov ecx, dword [ebp - 0x3f4]
cmp ecx, dword [ebp - 0x734]
jae 0x4a9398
mov eax, dword [ebp - 0x410]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x3f4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [eax + 4], edx
cmp dword [ebp - 0x3f0], 0x7fffffff
jg 0x4a93e6
jl 0x4a93c6
cmp dword [ebp - 0x3f4], 0xffffffff
jae 0x4a93e6
mov eax, dword [ebp - 0x3f4]
add eax, 1
mov ecx, dword [ebp - 0x3f0]
adc ecx, 0
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], ecx
jmp 0x4a93f2
xorpd xmm0, xmm0
movlpd qword [ebp - 0x734], xmm0
mov edx, dword [ebp - 0x730]
push edx
mov eax, dword [ebp - 0x734]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
push edx
call fcn.00486e30
add esp, 0xc
mov eax, dword [ebp - 0x3f8]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x4a959a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x404], 0
cmp dword [ebp - 0x404], 0
jne 0x4a94a7
mov eax, dword [ebp - 0x3f4]
and eax, 0xffffff
mov ecx, dword [ebp - 0x3f0]
and ecx, 0
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x734]
cmp edx, dword [ebp - 0x3f4]
jne 0x4a94a7
mov eax, dword [ebp - 0x730]
cmp eax, dword [ebp - 0x3f0]
jne 0x4a94a7
mov eax, dword [ebp - 0x3f4]
add eax, 1
mov ecx, dword [ebp - 0x3f0]
adc ecx, 0
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], ecx
jmp 0x4a94e1
lea eax, [ebp - 0x3f4]
push eax
push 8
call fcn.0045da30
add esp, 8
cmp dword [ebp - 0x404], 5
jge 0x4a94e1
mov eax, dword [ebp - 0x3f4]
and eax, 0xffffff
mov ecx, dword [ebp - 0x3f0]
and ecx, 0
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], ecx
mov eax, dword [ebp - 0x3f4]
or eax, dword [ebp - 0x3f0]
jne 0x4a94f1
jmp 0x4a9548
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x408], ecx
lea eax, [ebp - 0x3fc]
push eax
push 0
mov ecx, dword [ebp - 0x408]
push ecx
mov edx, dword [ebp - 0x40c]
push edx
push 0
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax]
push ecx
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x404]
add eax, 1
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0x64
jge 0x4a9567
cmp dword [ebp - 0x400], 0
jne 0x4a9567
cmp dword [ebp - 0x3fc], 0
je 0x4a9442
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3f4]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [eax + 0x3c], edx
cmp dword [ebp - 0x400], 0
jne 0x4a959a
cmp dword [ebp - 0x3fc], 0
jne 0x4a959a
mov dword [ebp - 0x10], 0xd
jmp 0x4abc67
mov eax, dword [ebp - 0x3f8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x3f8]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x3f8]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3f4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [eax + 4], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x414], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x418], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x424], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x424]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x418]
mov ecx, dword [eax]
mov dword [ebp - 0x420], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 1
je 0x4a966e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x84], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x4a968e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x414]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a96b7
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x4a9830
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
jne 0x4a96ed
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x420]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0x41c]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x414]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 0x24]
je 0x4a9739
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
je 0x4a979f
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
jne 0x4a979a
mov eax, dword [ebp - 0x414]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0x414]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x414]
movzx ecx, word [eax + 0x1c]
or ecx, 0x1000
mov edx, dword [ebp - 0x414]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x24], 0
jmp 0x4a9821
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 0x2c]
add ecx, 2
push ecx
call fcn.00494cf0
add esp, 4
mov edx, dword [ebp - 0x428]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x428]
cmp dword [eax + 0x30], 0
jne 0x4a97ce
jmp 0x4abc35
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x414]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x428]
mov edx, dword [ecx + 0x30]
push edx
call fcn.004dc550
add esp, 0xc
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebp - 0x428]
mov eax, dword [edx + 0x30]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebp - 0x428]
mov eax, dword [edx + 0x30]
mov byte [eax + ecx + 1], 0
mov eax, dword [ebp - 0x428]
mov byte [eax + 0x14], 0
jmp 0x4a98f5
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4a984d
mov edx, dword [ebp - 0x428]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x730], eax
jmp 0x4a9857
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x430], ecx
mov eax, dword [ebp - 0x414]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a9885
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax]
mov dword [ebp - 0x42c], ecx
jmp 0x4a988f
mov dword [ebp - 0x42c], 0
push 0
push 0
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax]
push ecx
call fcn.00486e30
add esp, 0xc
mov eax, dword [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 3]
and edx, 8
push edx
mov eax, dword [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x420]
push eax
push 0
mov ecx, dword [ebp - 0x428]
mov edx, dword [ecx]
push edx
call fcn.00484790
add esp, 0x24
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x428]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x428]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x428]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x10], 0
jne 0x4a99cd
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xbc], 0
je 0x4a99cd
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4a99cd
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x434], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x438], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 4
je 0x4a997c
mov dword [ebp - 0x730], 0x17
jmp 0x4a9986
mov dword [ebp - 0x730], 0x12
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x438]
push edx
mov eax, dword [ebp - 0x434]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xb8]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xbc]
call edx
add esp, 0x18
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x440], ecx
xorpd xmm0, xmm0
movlpd qword [ebp - 0x448], xmm0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x440]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xbc], 0
je 0x4a9a2c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4a9a2c
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x448], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x44c]
push eax
call fcn.004a4bd0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a9a49
jmp 0x4abc67
push 0
push 0
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax]
push ecx
call fcn.00486e30
add esp, 0xc
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax]
push ecx
call fcn.00483800
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x44c]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x10], 0
jne 0x4a9af7
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xbc], 0
je 0x4a9af7
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4a9af7
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x450], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x454], ecx
mov eax, dword [ebp - 0x444]
push eax
mov ecx, dword [ebp - 0x448]
push ecx
mov edx, dword [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x450]
push eax
push 9
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xb8]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xbc]
call ecx
add esp, 0x18
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x4a9b17
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x84], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
je 0x4a9b3b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004af650
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x84], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x458], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x458]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x45c]
mov ecx, dword [eax]
mov dword [ebp - 0x460], ecx
mov eax, dword [ebp - 0x45c]
push eax
call fcn.004a4bd0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a9bab
jmp 0x4abc67
mov eax, dword [ebp - 0x45c]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4a9c1c
lea eax, [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x460]
push ecx
call fcn.00484ff0
add esp, 8
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax + 0x50]
cdq
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov edx, dword [ebp - 0x468]
cmp edx, dword [ebp - 0x730]
jl 0x4a9c0e
jg 0x4a9c09
mov eax, dword [ebp - 0x46c]
cmp eax, dword [ebp - 0x734]
jbe 0x4a9c0e
jmp 0x4abc14
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x464], eax
jmp 0x4a9c4e
lea eax, [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x460]
push ecx
call fcn.00483790
add esp, 8
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x464]
cmp edx, dword [ecx + eax + 0x50]
jle 0x4a9c4e
jmp 0x4abc14
push 0
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004ad300
add esp, 0xc
test eax, eax
je 0x4a9c6c
jmp 0x4abc35
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x464]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x45c]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4a9cc1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x464]
push edx
push 0
mov eax, dword [ebp - 0x460]
push eax
call fcn.00484f30
add esp, 0x10
mov dword [ebp - 0x10], eax
jmp 0x4a9ce3
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x464]
push edx
push 0
mov eax, dword [ebp - 0x460]
push eax
call fcn.004836d0
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x1f], 1
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x470], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x470]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x474]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x4a9d28
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x474]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x4a9d53
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x47c], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x478], edx
jmp 0x4a9e87
mov eax, dword [ebp - 0x474]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x4a9d7e
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x47c], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x478], edx
jmp 0x4a9e87
mov eax, dword [ebp - 0x474]
cmp dword [eax + 0x50], 0
je 0x4a9e12
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax]
mov dword [ebp - 0x484], ecx
xor eax, eax
je 0x4a9db6
jmp 0x4abc60
lea eax, [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0x484]
mov ecx, dword [eax + 0x30]
call ecx
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x480]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x480]
mov dword [eax + 8], 0
xor eax, eax
je 0x4a9e10
jmp 0x4abc60
jmp 0x4a9e87
mov eax, dword [ebp - 0x474]
push eax
call fcn.004a4bd0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a9e2f
jmp 0x4abc67
mov eax, dword [ebp - 0x474]
movzx ecx, byte [eax + 0x11]
test ecx, ecx
je 0x4a9e57
mov eax, dword [ebp - 0x474]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x47c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x478], edx
jmp 0x4a9e87
lea eax, [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx]
push edx
call fcn.00484ff0
add esp, 8
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x478], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x47c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x478]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x488], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x488]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x48c]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x48c]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x48c]
cmp dword [eax], 0
je 0x4a9f08
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax]
push ecx
call fcn.00482e70
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x490], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x490]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x494]
mov ecx, dword [eax]
mov dword [ebp - 0x498], ecx
lea eax, [ebp - 0x49c]
push eax
mov ecx, dword [ebp - 0x498]
push ecx
call fcn.00485070
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x494]
mov cl, byte [ebp - 0x49c]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0x494]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x494]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x494]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x49c], 0
je 0x4a9fa3
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0
jle 0x4a9fa3
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax + 0xc4]
add edx, 1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0xc4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4a0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x4a0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
mov dword [ebp - 0x4a8], ecx
cmp dword [ebp - 0x4a8], 0
je 0x4aa071
lea eax, [ebp - 0x4ac]
push eax
mov ecx, dword [ebp - 0x4a8]
push ecx
call fcn.00484080
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x4ac], 0
jne 0x4aa035
mov dword [ebp - 0x730], 1
jmp 0x4aa03f
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x4a4]
mov cl, byte [ebp - 0x730]
mov byte [eax + 0x12], cl
mov eax, dword [ebp - 0x4a4]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x4a4]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x4a4]
mov byte [eax + 0x11], 0
jmp 0x4aa07b
mov dword [ebp - 0x4ac], 1
mov eax, dword [ebp - 0x4a4]
mov cl, byte [ebp - 0x4ac]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0x4ac], 0
je 0x4aa09f
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xd8], 0
je 0x4aa0b5
jmp 0x4abcac
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x4b0], ecx
cmp dword [ebp - 0x4b0], 0
jne 0x4aa0d8
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax]
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x4b8], 1
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x6a
jne 0x4aa119
lea edx, [ebp - 0x4b8]
push edx
mov eax, dword [ebp - 0x4b4]
push eax
call fcn.00485af0
add esp, 8
mov dword [ebp - 0x730], eax
jmp 0x4aa135
lea ecx, [ebp - 0x4b8]
push ecx
mov edx, dword [ebp - 0x4b4]
push edx
call fcn.00486700
add esp, 8
mov dword [ebp - 0x730], eax
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4b0]
mov cl, byte [ebp - 0x4b8]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0x4b0]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x4b8], 0
jne 0x4aa19f
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4aa19f
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0xc0]
add eax, 1
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0xc0], eax
mov eax, dword [ebp - 0x4b0]
mov byte [eax + 0x11], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4bc], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x4bc]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx]
mov dword [ebp - 0x4c4], edx
cmp dword [ebp - 0x4c4], 0
je 0x4aa2af
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4aa20d
mov edx, dword [ebp - 0x20]
push edx
call fcn.004ad040
add esp, 4
mov dword [ebp - 0x730], eax
jmp 0x4aa217
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4aa2af
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x4c8], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x4cc], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4aa25f
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x730], eax
jmp 0x4aa269
mov dword [ebp - 0x730], 0
mov ecx, dword [ebp - 0x730]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x57dfd1
mov eax, dword [ebp - 0x4c8]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x4cc]
push ecx
mov edx, dword [ebp - 0x4c4]
push edx
call fcn.00484790
add esp, 0x24
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4c0]
mov dword [eax + 0x5c], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4d0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x4d0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d8], edx
cmp dword [ebp - 0x4d8], 0
je 0x4aa37f
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x4f4], ecx
mov eax, dword [ebp - 0xc]
mov cx, word [eax + 0xc]
mov word [ebp - 0x4f0], cx
xor eax, eax
mov word [ebp - 0x4ee], ax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x4e4], ecx
lea eax, [ebp - 0x4dc]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x4f4]
push ecx
mov edx, dword [ebp - 0x4d8]
push edx
call fcn.004853b0
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4aa372
cmp dword [ebp - 0x4dc], 0
jne 0x4aa372
mov eax, dword [ebp - 0x4d8]
push eax
call fcn.00483800
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4d4]
mov dword [eax + 0x5c], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4f8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x4f8]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov edx, dword [ecx]
mov dword [ebp - 0x4fc], edx
cmp dword [ebp - 0x4fc], 0
je 0x4aa436
mov eax, dword [ebp - 0x500]
push eax
call fcn.004a4bd0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4aa3d9
jmp 0x4abc67
mov eax, dword [ebp - 0x500]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
jne 0x4aa436
lea eax, [ebp - 0x508]
push eax
mov ecx, dword [ebp - 0x4fc]
push ecx
call fcn.004ac580
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4aa40b
jmp 0x4abc67
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x508]
mov dword [eax], ecx
mov edx, dword [ebp - 0x504]
mov dword [eax + 4], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x50c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x50c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp dword [ecx], 0
je 0x4aa521
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x52c], ecx
mov eax, dword [ebp - 0xc]
mov cx, word [eax + 0x10]
mov word [ebp - 0x528], cx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4aa4a1
mov eax, 0xc
mov word [ebp - 0x526], ax
jmp 0x4aa4ad
mov eax, 4
mov word [ebp - 0x526], ax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x51c], ecx
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x52c]
push ecx
mov edx, dword [ebp - 0x510]
push edx
call fcn.004ac4c0
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x29
jne 0x4aa4fd
mov eax, dword [ebp - 0x514]
neg eax
mov dword [ebp - 0x514], eax
jmp 0x4aa50c
mov eax, dword [ebp - 0x514]
add eax, 1
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 0
jle 0x4aa521
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov dword [ebp - 0x534], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x8c]
mov dword [ebp - 0x538], ecx
jmp 0x4aa550
mov eax, dword [ebp - 0x538]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x538], ecx
cmp dword [ebp - 0x538], 0
je 0x4aa597
mov eax, dword [ebp - 0x538]
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4aa595
mov eax, dword [ebp - 0x538]
movzx ecx, byte [eax + 0x80]
cmp ecx, 2
jge 0x4aa595
mov eax, dword [ebp - 0x538]
cmp dword [eax + 0x60], 0
jl 0x4aa595
mov eax, dword [ebp - 0x534]
add eax, 1
mov dword [ebp - 0x534], eax
jmp 0x4aa541
cmp dword [ebp - 0x534], 1
jle 0x4aa5b6
mov dword [ebp - 0x10], 6
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], 2
jmp 0x4aa64a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x53c], ecx
lea eax, [ebp - 0x530]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x53c]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00483d10
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x530]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 0x10], 0
jne 0x4aa64a
cmp dword [ebp - 0x530], 0
je 0x4aa64a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x530]
push edx
mov eax, dword [ebp - 0x53c]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 8]
push eax
call fcn.0049c7d0
add esp, 0xc
jmp case.0x4a51e0.11
mov dword [ebp - 0x540], 0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc], 0
je 0x4aa670
lea ecx, [ebp - 0x540]
mov dword [ebp - 0x730], ecx
jmp 0x4aa67a
mov dword [ebp - 0x730], 0
mov edx, dword [ebp - 0x730]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 8]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00482ea0
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc], 0
je 0x4aa704
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
add ecx, dword [ebp - 0x540]
mov edx, dword [ebp + 8]
mov dword [edx + 0x84], ecx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc], 0
jle 0x4aa704
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x4c]
mov eax, dword [ebp - 0x540]
cdq
add eax, dword [esi + ecx]
adc edx, dword [esi + ecx + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
imul ecx, ecx, 0x28
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4c]
mov dword [esi + ecx], eax
mov dword [esi + ecx + 4], edx
jmp case.0x4a51e0.11
mov dword [ebp - 0x544], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 8]
mov dword [ebp - 0x54c], ecx
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x35
jne 0x4aa73f
mov dword [ebp - 0x548], 5
jmp 0x4aa749
mov dword [ebp - 0x548], 2
mov eax, dword [ebp - 0x548]
push eax
lea ecx, [ebp - 0x544]
push ecx
mov edx, dword [ebp - 0x54c]
mov eax, dword [edx + 4]
push eax
call fcn.00483570
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x544]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x550], ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00483e40
add esp, 4
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0
jne 0x4aa7d8
mov eax, dword [ebp - 0x550]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0x14]
movzx ecx, word [eax + 0x3a]
and ecx, 1
je 0x4aa8db
mov eax, 1
test eax, eax
je 0x4aa7f6
cmp dword [ebp - 0x550], 1
jne 0x4aa7f6
mov dword [ebp - 0x730], str.sqlite_temp_master
jmp 0x4aa800
mov dword [ebp - 0x730], str.sqlite_master
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x554], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x564], ecx
mov eax, dword [ebp + 8]
add eax, 0x74
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x554]
push edx
mov eax, dword [ebp - 0x550]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax]
push eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00494cb0
add esp, 0x14
mov dword [ebp - 0x558], eax
cmp dword [ebp - 0x558], 0
jne 0x4aa877
mov dword [ebp - 0x10], 7
jmp 0x4aa8db
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x80], 1
mov dword [ebp - 0x55c], 0
push 0
lea eax, [ebp - 0x568]
push eax
push fcn.00492530
mov ecx, dword [ebp - 0x558]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0045b8d0
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4aa8be
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x558]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00489470
add esp, 8
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x80], 0
mov eax, dword [ebp - 0x14]
push eax
call fcn.00485140
add esp, 4
cmp dword [ebp - 0x10], 7
jne 0x4aa8f2
jmp 0x4abc35
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x56c], ecx
mov eax, dword [ebp - 0x56c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00480e30
add esp, 8
mov dword [ebp - 0x10], eax
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a12e0
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a1200
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a1350
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x570], ecx
mov eax, dword [ebp - 0x570]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004894e0
add esp, 8
mov dword [ebp - 0x574], eax
cmp dword [ebp - 0x574], 0
jne 0x4aa9b5
jmp 0x4abc35
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x584], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x578], 0
jmp 0x4aa9f7
mov eax, dword [ebp - 0x578]
add eax, 1
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x578]
cmp eax, dword [ebp - 0x570]
jge 0x4aaa2b
mov eax, dword [ebp - 0x578]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
push eax
call fcn.004ac730
add esp, 4
mov ecx, dword [ebp - 0x578]
mov edx, dword [ebp - 0x574]
mov dword [edx + ecx*4], eax
jmp 0x4aa9e8
mov eax, dword [ebp - 0x578]
mov ecx, dword [ebp - 0x574]
mov dword [ecx + eax*4], 0
lea eax, [ebp - 0x57c]
push eax
mov ecx, dword [ebp - 0x584]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0x574]
push ecx
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 3]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00484ad0
add esp, 0x14
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x574]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00489470
add esp, 8
mov eax, dword [ebp - 0x57c]
cdq
mov ecx, dword [ebp - 0x584]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x584]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad9e0
add esp, 4
cmp dword [ebp - 0x57c], 0
jne 0x4aaaca
jmp 0x4aaaf6
cmp dword [ebp - 0x580], 0
jne 0x4aaada
jmp 0x4abc35
push fcn.0045d910
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x580]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004adae0
add esp, 0x14
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004a4630
add esp, 8
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x588], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x58c], ecx
mov eax, dword [ebp - 0x588]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4aab68
mov eax, dword [ebp - 0x588]
push eax
call fcn.004ada30
add esp, 4
mov eax, dword [ebp - 0x588]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4aab68
jmp 0x4abc35
mov eax, dword [ebp - 0x58c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x588]
mov ecx, dword [eax]
push ecx
call fcn.0049c970
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xd8], 0
je 0x4aab9c
jmp 0x4abcac
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x590], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x590]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x4aabee
lea eax, [ebp - 0x598]
push eax
mov ecx, dword [ebp - 0x590]
mov edx, dword [ecx]
push edx
call fcn.0049ca80
add esp, 8
test eax, eax
jne 0x4aac0b
mov eax, dword [ebp - 0x590]
push eax
call fcn.004ad9e0
add esp, 4
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp 0x4aac25
mov eax, dword [ebp - 0x594]
push eax
mov ecx, dword [ebp - 0x598]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.004ad9a0
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x59c], ecx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4aac5f
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ada30
add esp, 4
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4aac5f
jmp 0x4abc35
cmp dword [ebp - 0x59c], 0
je 0x4aaccc
cmp dword [ebp - 0x59c], 0
jl 0x4aac82
mov eax, dword [ebp - 0x59c]
and eax, 0xf
mov dword [ebp - 0x730], eax
jmp 0x4aac8c
mov dword [ebp - 0x730], 0xff
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
movzx ecx, byte [ebp - 0x730]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
push eax
call fcn.0049caf0
add esp, 0x10
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 0
je 0x4aaccc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
cmp dword [ebp - 0x59c], 0
jl 0x4aaced
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ecx
call fcn.0049c970
add esp, 0xc
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x54]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x5a4]
cmp ecx, dword [eax + 0x58]
jl 0x4aad5e
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x5a4]
add eax, 1
shl eax, 4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00489720
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 0
jne 0x4aad5e
jmp 0x4abc35
mov eax, dword [ebp - 0x5a4]
shl eax, 4
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x5c]
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x84]
mov dword [eax + 8], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
sub ecx, 1
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x730]
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 0x730]
shl ecx, 4
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x5c]
mov dword [ebp - 0x5ac], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x5ac]
mov edx, dword [ecx]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x5ac]
mov edx, dword [ecx + 8]
mov dword [eax + 0x84], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call fcn.004ad590
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x734]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jg 0x4aae5b
jl 0x4aae4b
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x734]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jae 0x4aae5b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
cmp dword [ecx + 4], 0
jl 0x4aae8e
jg 0x4aae82
mov edx, dword [ebp - 0x730]
cmp dword [edx], 0
jbe 0x4aae8e
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
cmp dword [ecx + 4], 0
jg 0x4aaec1
jl 0x4aaeb5
mov edx, dword [ebp - 0x730]
cmp dword [edx], 0
jae 0x4aaec1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
mov edx, dword [ebp - 0x730]
mov eax, dword [ecx]
or eax, dword [edx + 4]
jne 0x4aaeee
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x5b0], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x5bc], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5b4], 0
jmp 0x4aaf4b
mov eax, dword [ebp - 0x5b4]
add eax, 1
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5bc]
add ecx, 0x28
mov dword [ebp - 0x5bc], ecx
mov eax, dword [ebp - 0x5b4]
cmp eax, dword [ebp - 0x5b0]
jge 0x4aaf7f
mov eax, dword [ebp - 0x5b4]
mov ecx, dword [ebp - 0x600]
mov edx, dword [ebp - 0x5bc]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.00461c70
add esp, 4
jmp 0x4aaf2d
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5fc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x5b8], ecx
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0x5b8]
mov dword [edx + 0x18], ecx
mov eax, 1
mov word [ebp - 0x5d8], ax
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5c8], 0
mov dword [ebp - 0x5c4], 0
mov eax, dword [ebp - 0x5fc]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4ab02c
mov eax, 0x14
imul eax, eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + eax + 0x10]
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x600]
push eax
mov ecx, dword [ebp - 0x5b0]
push ecx
lea edx, [ebp - 0x5fc]
push edx
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
cmp dword [ebp - 0x5c8], 0
je 0x4ab089
lea eax, [ebp - 0x5f4]
push eax
call fcn.00460140
add esp, 4
push eax
push 0x57ea58
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x5f4]
push eax
call fcn.004ad840
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x604], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x604]
push edx
call fcn.004ad0e0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x4ab0f9
mov eax, dword [ebp - 0x604]
push eax
call fcn.00460140
add esp, 4
push eax
push 0x57ea58
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x604]
push ecx
call fcn.004a4630
add esp, 8
mov eax, dword [ebp - 0x604]
push eax
call fcn.004adf20
add esp, 4
test eax, eax
je 0x4ab125
jmp 0x4abc14
jmp case.0x4a51e0.11
xor eax, eax
je 0x4ab133
jmp 0x4abc60
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049d090
add esp, 8
mov dword [ebp - 0x10], eax
xor eax, eax
je 0x4ab152
jmp 0x4abc60
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x608], ecx
mov eax, dword [ebp - 0x608]
push eax
call fcn.00484480
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x65
jne 0x4ab19b
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
jne 0x4ab1b7
mov eax, dword [ebp - 0x14]
push eax
call fcn.0048b720
add esp, 4
jmp 0x4ab1be
mov eax, dword [ebp + 8]
mov byte [eax + 0x7e], 1
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x60c], ecx
mov eax, dword [ebp - 0xc]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x60d], cl
movzx eax, byte [ebp - 0x60d]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x60c]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004851e0
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0xff
cmp eax, 6
jne 0x4ab241
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x614], ecx
mov eax, dword [ebp - 0x614]
push eax
push str.database_table_is_locked:__s
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x618], ecx
mov eax, dword [ebp - 0x618]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004afbe0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x618], 0
je 0x4ab2a0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x618]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x618]
mov dword [eax + 8], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
add eax, 0x74
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004aff40
add esp, 0x10
mov dword [ebp - 0x10], eax
jmp case.0x4a51e0.11
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 2
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b0010
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 0
jmp case.0x4a51e0.11
mov dword [ebp - 0x61c], 0
mov dword [ebp - 0x620], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x624], ecx
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
mov dword [ebp - 0x628], ecx
xor eax, eax
je 0x4ab33b
jmp 0x4abc60
lea eax, [ebp - 0x620]
push eax
mov ecx, dword [ebp - 0x624]
push ecx
mov edx, dword [ebp - 0x628]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x624]
mov dword [eax + 8], 0
xor eax, eax
je 0x4ab392
jmp 0x4abc60
cmp dword [ebp - 0x10], 0
jne 0x4ab40e
mov eax, dword [ebp - 0x620]
mov ecx, dword [ebp - 0x624]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00462d30
add esp, 0x14
mov dword [ebp - 0x61c], eax
cmp dword [ebp - 0x61c], 0
je 0x4ab3f2
mov eax, dword [ebp - 0x61c]
mov ecx, dword [ebp - 0x620]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x61c]
mov eax, dword [ecx]
mov dword [edx + 0x54], eax
jmp 0x4ab40e
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x620]
push eax
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x638], ecx
mov eax, 0x28
shl eax, 0
add eax, dword [ebp - 0x638]
mov dword [ebp - 0x63c], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x648], ecx
mov eax, dword [ebp - 0x648]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x640], ecx
mov eax, dword [ebp - 0x640]
mov ecx, dword [eax]
mov dword [ebp - 0x644], ecx
mov eax, dword [ebp - 0x644]
mov ecx, dword [eax]
mov dword [ebp - 0x634], ecx
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax]
mov dword [ebp - 0x62c], ecx
mov eax, dword [ebp - 0x638]
mov ecx, dword [eax]
mov dword [ebp - 0x630], ecx
mov dword [ebp - 0x64c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x650], 0
jmp 0x4ab4c9
mov eax, dword [ebp - 0x650]
add eax, 1
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x650]
cmp eax, dword [ebp - 0x62c]
jge 0x4ab512
mov eax, dword [ebp - 0x650]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x63c]
mov ecx, dword [ebp - 0x650]
mov edx, dword [ebp - 0x654]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x650]
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00461c70
add esp, 4
jmp 0x4ab4ba
xor eax, eax
je 0x4ab51b
jmp 0x4abc60
mov eax, dword [ebp - 0x644]
push eax
call fcn.004b0490
add esp, 4
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 1
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x62c]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x630]
push ecx
mov edx, dword [ebp - 0x640]
push edx
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x644]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b0870
add esp, 8
cmp dword [ebp - 0x10], 0
jne 0x4ab5d5
mov eax, dword [ebp - 0x640]
push eax
mov ecx, dword [ebp - 0x634]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x64c], eax
xor eax, eax
je 0x4ab5de
jmp 0x4abc60
cmp dword [ebp - 0x64c], 0
je 0x4ab5f3
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x648]
mov byte [eax + 0x14], 0
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x6a4], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x660], ecx
mov eax, dword [ebp - 0x6a4]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x4ab64e
mov eax, dword [ebp - 0x660]
push eax
call fcn.004ad9e0
add esp, 4
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x658]
mov ecx, dword [eax]
mov dword [ebp - 0x65c], ecx
push 0x40
push 0
lea eax, [ebp - 0x6a0]
push eax
call fcn.004de2a0
add esp, 0xc
mov eax, dword [ebp - 0x660]
push eax
lea ecx, [ebp - 0x698]
push ecx
call fcn.004ad690
add esp, 8
movzx eax, word [ebp - 0x67c]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x67c], ax
xor eax, eax
je 0x4ab6b5
jmp 0x4abc60
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x6a0]
push edx
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x65c]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x658]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x658]
mov dword [eax + 8], 0
movzx eax, byte [ebp - 0x15]
push eax
lea ecx, [ebp - 0x698]
push ecx
call fcn.004a4630
add esp, 8
lea eax, [ebp - 0x698]
push eax
mov ecx, dword [ebp - 0x660]
push ecx
call fcn.004ad690
add esp, 8
xor eax, eax
je 0x4ab740
jmp 0x4abc60
mov eax, dword [ebp - 0x660]
push eax
call fcn.004adf20
add esp, 4
test eax, eax
je 0x4ab758
jmp 0x4abc14
jmp case.0x4a51e0.11
mov dword [ebp - 0x6b0], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x6b4], ecx
mov eax, dword [ebp - 0x6b4]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x4ab78f
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6a8]
mov ecx, dword [eax]
mov dword [ebp - 0x6ac], ecx
xor eax, eax
je 0x4ab7b7
jmp 0x4abc60
mov eax, dword [ebp - 0x6a8]
push eax
call fcn.004b0490
add esp, 4
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 1
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x6ac]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x80], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x6a8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x6a8]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x6a8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b0870
add esp, 8
cmp dword [ebp - 0x10], 0
jne 0x4ab85b
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x6ac]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x6b0], eax
xor eax, eax
je 0x4ab864
jmp 0x4abc60
cmp dword [ebp - 0x6b0], 0
jne 0x4ab879
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 8], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x6b8], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6bc], ecx
mov eax, dword [ebp - 0x6bc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4ab8cb
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, dword [ebp - 0x6bc]
push ecx
call fcn.004ade40
add esp, 8
test eax, eax
je 0x4ab8cb
jmp 0x4abc35
xor eax, eax
je 0x4ab8d4
jmp 0x4abc60
mov eax, dword [ebp - 0x6b8]
push eax
call fcn.004b0490
add esp, 4
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x6b8]
push edx
mov eax, dword [ebp - 0x6b8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x6b8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x6b8]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x6b8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b0870
add esp, 8
xor eax, eax
je 0x4ab952
jmp 0x4abc60
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x6c0], ecx
mov eax, dword [ebp - 0x6c0]
mov ecx, dword [eax]
mov dword [ebp - 0x6c4], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x6c8], ecx
mov eax, dword [ebp - 0x6c4]
cmp dword [eax + 0x34], 0
jne 0x4ab9ad
push str.read_only_table
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 1
jmp 0x4abaf5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x6d8], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6dc], ecx
mov dword [ebp - 0x6cc], 0
jmp 0x4ab9e9
mov eax, dword [ebp - 0x6cc]
add eax, 1
mov dword [ebp - 0x6cc], eax
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [ebp - 0x6c8]
jge 0x4aba2c
mov eax, dword [ebp - 0x6dc]
push eax
call fcn.00461c70
add esp, 4
mov eax, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [ebp - 0x6dc]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x6dc]
add eax, 0x28
mov dword [ebp - 0x6dc], eax
jmp 0x4ab9da
xor eax, eax
je 0x4aba35
jmp 0x4abc60
mov eax, dword [ebp - 0x6c0]
push eax
call fcn.004b0490
add esp, 4
lea eax, [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d8]
push ecx
mov edx, dword [ebp - 0x6c8]
push edx
mov eax, dword [ebp - 0x6c0]
push eax
mov ecx, dword [ebp - 0x6c4]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00489470
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x6c0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x6c0]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x6c0]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b0870
add esp, 8
xor eax, eax
je 0x4ababc
jmp 0x4abc60
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
je 0x4abae0
cmp dword [ebp - 0x10], 0
jne 0x4abae0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x6d4]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0x6d0]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x84], ecx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x6e0], ecx
mov eax, dword [ebp - 0x6e0]
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00486450
add esp, 4
mov dword [ebp - 0x6e8], eax
lea eax, [ebp - 0x6e4]
push eax
mov ecx, dword [ebp - 0x6e8]
push ecx
call fcn.004974c0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4abb62
mov eax, 4
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x6e4]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4a51e0.11
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x4abb7b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x730], edx
jmp 0x4abb8a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xcc]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x6ec], edx
cmp dword [ebp - 0x6ec], 0
je case.0x4a51e0.11
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
je case.0x4a51e0.11
mov eax, dword [ebp - 0x6ec]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x9c]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x98]
call ecx
add esp, 8
jmp 0x4a5015
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004ac0d0
add esp, 4
cmp dword [ebp - 0x10], 0xc0a
jne 0x4abbf4
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
mov dword [ebp - 0x10], 1
mov eax, dword [ebp + 8]
add eax, 0x94
push eax
call fcn.00485a80
add esp, 4
mov eax, dword [ebp - 0x10]
jmp 0x4abce6
push str.string_or_blob_too_big
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 0x12
jmp 0x4abbcf
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
push str.out_of_memory
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x74
push ecx
call fcn.0049f340
add esp, 0xc
mov dword [ebp - 0x10], 7
jmp 0x4abbcf
mov dword [ebp - 0x10], 0x15
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4abc79
mov dword [ebp - 0x10], 7
cmp dword [ebp - 0x10], 0xc0a
je 0x4abca7
mov eax, dword [ebp - 0x10]
push eax
call fcn.0048b550
add esp, 4
push eax
push 0x57ea58
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
jmp 0x4abbcf
mov dword [ebp - 0x10], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x64], ecx
mov eax, dword [ebp - 0x10]
push eax
call fcn.0048b550
add esp, 4
push eax
push 0x57ea58
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x74
push edx
call fcn.0049f340
add esp, 0x10
jmp 0x4abbcf
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da4c1
mov esp, ebp
pop ebp
ret