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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30c
push ebx
push esi
push edi
lea edi, [ebp - 0x30c]
mov ecx, 0xc3
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x53577c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x45], 0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x4d]
mov byte [ebp - 0x51], al
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp + 8]
push eax
call fcn.004a01b0
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 7
jne 0x4a7695
jmp 0x4aefd1
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x1b4], 0
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xe0], 0
je 0x4a76c7
jmp 0x4af041
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp dword [eax + 0x114], 0
setne cl
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xc], ecx
jmp 0x4a76ed
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x30], 0
jne 0x4aef16
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a7707
jmp 0x4aefd1
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x14
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x60], 0
je 0x4a7773
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0x6c]
jne 0x4a776a
mov esi, esp
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x118]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 0x114]
call eax
add esp, 4
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0
je 0x4a7763
mov dword [ebp - 0x30], 9
jmp 0x4aef16
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 2]
and ecx, 2
je 0x4a77c1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0x2460
je 0x4a77b2
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049efc0
add esp, 4
mov eax, 4
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
sub edx, 1
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 0x93
ja case.0x4a77f2.16
mov eax, dword [ebp - 0x304]
jmp dword [eax*4 + 0x4af0d4]
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xe0], 0
je 0x4a780a
jmp 0x4af041
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, 4
mov ecx, dword [ebp - 0x84]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, 4
mov ecx, dword [ebp - 0x84]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0xc], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne case.0x4a77f2.5
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
jne 0x4a79b7
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
je 0x4a79b7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x1b8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ecx + 0x44]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004a2dc0
add esp, 8
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.004a1d50
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 4
jne 0x4a79a0
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov eax, dword [edx + eax + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x78], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx + 8]
mov byte [eax + 0x60], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4a7a2b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
push 0x514cd4
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004a2bf0
add esp, 0x10
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push str.abort_at__d_in___s_:__s
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
call fcn.00488750
add esp, 0x14
jmp 0x4a7a56
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 0
je 0x4a7a56
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xc]
push edx
push str.constraint_failed_at__d_in___s_
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
call fcn.00488750
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.0049fd10
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 5
jne 0x4a7a7d
mov dword [ebp - 0x30], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
jmp 0x4a7a90
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff9c
add ecx, 0x65
mov dword [ebp - 0x30], ecx
jmp 0x4aef84
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov ecx, dword [ecx + 4]
mov dword [edx + 0x14], ecx
jmp case.0x4a77f2.16
mov eax, 8
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xa8]
fld qword [ecx]
fstp qword [edx + 8]
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov byte [eax], 9
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00488bd0
add esp, 4
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0x51]
cmp eax, 1
je 0x4a7be2
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
call fcn.0049e7f0
add esp, 0x14
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x12
jne 0x4a7b40
jmp 0x4aefad
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004a3310
add esp, 8
test eax, eax
je 0x4a7b5d
jmp 0x4aefd1
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
or ecx, 0x800
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4a7bbd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00486320
add esp, 8
mov eax, dword [ebp - 0x24]
mov byte [eax + 1], 0xff
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x48]
jle case.0x4a77f2.8
jmp 0x4aefad
mov eax, 0xa02
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xa8]
mov cl, byte [ebp - 0x51]
mov byte [eax + 0x1f], cl
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax + 0xc]
sub edx, dword [ecx + 8]
mov dword [ebp - 0x1a0], edx
mov eax, 1
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x1a0], 0
jle 0x4a7cad
mov eax, dword [ebp - 0xa8]
add eax, 0x28
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0x2460
je 0x4a7c8d
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049efc0
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1a0]
sub eax, 1
mov dword [ebp - 0x1a0], eax
jmp 0x4a7c54
jmp case.0x4a77f2.16
push 0
push 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.0049e7f0
add esp, 0x14
mov eax, dword [ebp - 0xa8]
mov cl, byte [ebp - 0x51]
mov byte [eax + 0x1f], cl
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
sub ecx, 1
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x48]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b97c0
add esp, 4
test eax, eax
je 0x4a7d14
jmp 0x4aefad
push 0x800
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004b9830
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x198]
imul eax, eax, 0x28
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x194]
imul eax, eax, 0x28
add eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x19c]
sub ecx, 1
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x304], 0
je 0x4a7e04
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004a7220
add esp, 8
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x84]
add eax, 0x28
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa8]
add eax, 0x28
mov dword [ebp - 0xa8], eax
jmp 0x4a7d7c
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
push 0x1000
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004b9830
add esp, 0xc
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x4a7e72
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049eda0
add esp, 4
test eax, eax
je 0x4a7e72
jmp 0x4aefd1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
push 0x1000
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004b9830
add esp, 0xc
jmp case.0x4a77f2.16
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004a2b20
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a7ed7
jmp case.0x4a77f2.16
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004a28d0
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a7ef3
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
add ecx, 2
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x54], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], 0
jmp 0x4a7f3e
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x19c]
cmp ecx, dword [eax + 8]
jge 0x4a7fbe
mov eax, dword [ebp - 0x19c]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x1a0]
movzx edx, word [ecx + eax + 0x1c]
and edx, 0x1000
je 0x4a7f89
mov eax, dword [ebp - 0x19c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a0]
push eax
call fcn.0049eda0
add esp, 4
test eax, eax
je 0x4a7f89
jmp 0x4aefd1
mov eax, dword [ebp - 0x19c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a0]
push eax
call fcn.004a3c20
add esp, 4
mov eax, dword [ebp - 0x19c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a0]
push eax
call fcn.004a7410
add esp, 4
jmp 0x4a7f2f
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a7fce
jmp 0x4aefd1
mov eax, dword [ebp - 0xc]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
mov dword [ebp - 0x30], 0x64
jmp 0x4aef84
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x90]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4a804b
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049f230
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a8074
mov edx, dword [ebp - 0x84]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4a807e
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x304], 0
jne 0x4a80c3
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a80b0
mov edx, dword [ebp - 0x90]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4a80ba
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x304], 0
je 0x4a80c8
jmp 0x4aefd1
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4a80f4
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004a3cd0
add esp, 8
test eax, eax
je 0x4a80f4
jmp 0x4aefd1
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4a8120
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.004a3cd0
add esp, 8
test eax, eax
je 0x4a8120
jmp 0x4aefd1
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x90]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x19c]
cmp ecx, dword [ebp - 0x304]
jl 0x4a8175
jg 0x4a8170
mov edx, dword [ebp - 0x1a0]
cmp edx, dword [ebp - 0x308]
jbe 0x4a8175
jmp 0x4aefad
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 2
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
cmp eax, dword [ebp - 0x90]
sete cl
push ecx
mov edx, dword [ebp - 0x1a0]
add edx, 2
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049eb90
add esp, 0xc
test eax, eax
je 0x4a81c6
jmp 0x4aefd1
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x90]
je 0x4a81fa
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 4]
push edx
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x90]
add edx, dword [eax + 0x18]
push edx
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 4]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov ecx, dword [ebp - 0x19c]
adc ecx, 0
mov edx, dword [ebp - 0xa8]
mov ecx, dword [edx + 4]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xa8]
mov cl, byte [ebp - 0x51]
mov byte [eax + 0x1f], cl
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a7490
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
push eax
call fcn.004a7490
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x90]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
and eax, 1
je 0x4a8315
jmp 0x4a86f5
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x90]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x4a8526
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x198], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
sub edx, 0x56
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 3
ja case.default.0x4a8392
mov eax, dword [ebp - 0x304]
jmp dword [eax*4 + 0x4af324]
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
lea edx, [ebp - 0x190]
push edx
call fcn.004af5e0
add esp, 0xc
test eax, eax
je 0x4a83bf
jmp 0x4a8526
jmp 0x4a84ec
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
lea edx, [ebp - 0x190]
push edx
call fcn.004af710
add esp, 0xc
test eax, eax
je 0x4a83ea
jmp 0x4a8526
jmp 0x4a84ec
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
lea edx, [ebp - 0x190]
push edx
call fcn.004af7c0
add esp, 0xc
test eax, eax
je 0x4a8415
jmp 0x4a8526
jmp 0x4a84ec
mov eax, dword [ebp - 0x198]
or eax, dword [ebp - 0x194]
jne 0x4a842d
jmp 0x4a86f5
mov eax, dword [ebp - 0x198]
and eax, dword [ebp - 0x194]
cmp eax, 0xffffffff
jne 0x4a8458
cmp dword [ebp - 0x190], 0
jne 0x4a8458
cmp dword [ebp - 0x18c], 0x80000000
jne 0x4a8458
jmp 0x4a8526
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x190]
push eax
call fcn.00457810
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
jmp 0x4a84ec
mov eax, dword [ebp - 0x198]
or eax, dword [ebp - 0x194]
jne 0x4a849a
jmp 0x4a86f5
mov eax, dword [ebp - 0x198]
and eax, dword [ebp - 0x194]
cmp eax, 0xffffffff
jne 0x4a84bf
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x190]
push eax
call fcn.004578c0
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x190]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x18c]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
jmp 0x4a86f0
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3e50
add esp, 4
fstp qword [ebp - 0x188]
mov eax, dword [ebp - 0x90]
push eax
call fcn.004a3e50
add esp, 4
fstp qword [ebp - 0x180]
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
sub edx, 0x56
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 3
ja case.default.0x4a857a
mov eax, dword [ebp - 0x304]
jmp dword [eax*4 + 0x4af334]
fld qword [ebp - 0x180]
fadd qword [ebp - 0x188]
fstp qword [ebp - 0x180]
jmp 0x4a8690
fld qword [ebp - 0x180]
fsub qword [ebp - 0x188]
fstp qword [ebp - 0x180]
jmp 0x4a8690
fld qword [ebp - 0x180]
fmul qword [ebp - 0x188]
fstp qword [ebp - 0x180]
jmp 0x4a8690
fldz
fcomp qword [ebp - 0x188]
fnstsw ax
test ah, 0x44
jp 0x4a85da
jmp 0x4a86f5
fld qword [ebp - 0x180]
fdiv qword [ebp - 0x188]
fstp qword [ebp - 0x180]
jmp 0x4a8690
fld qword [ebp - 0x188]
call fcn.00505d16
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
fld qword [ebp - 0x180]
call fcn.00505d16
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x198]
or eax, dword [ebp - 0x194]
jne 0x4a8632
jmp 0x4a86f5
mov eax, dword [ebp - 0x198]
and eax, dword [ebp - 0x194]
cmp eax, 0xffffffff
jne 0x4a8657
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x190]
push eax
call fcn.004578c0
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
fild qword [ebp - 0x308]
fstp qword [ebp - 0x180]
sub esp, 8
fld qword [ebp - 0x180]
fstp qword [esp]
call fcn.00488b60
add esp, 8
test eax, eax
je 0x4a86aa
jmp 0x4a86f5
mov eax, dword [ebp - 0xa8]
fld qword [ebp - 0x180]
fstp qword [eax + 8]
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 8
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x1a0]
and eax, 8
jne 0x4a86f0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.004b9430
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049f230
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x4a8775
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x19c]
add ecx, 0x28
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [ebp - 0x154]
jge 0x4a87d3
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x19c]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x19c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x4a87c2
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0049eda0
add esp, 4
test eax, eax
je 0x4a87c2
jmp 0x4aefd1
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004a7410
add esp, 4
jmp 0x4a8757
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x4a87f7
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], 0
jmp 0x4a8811
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax]
mov dword [ebp - 0x198], ecx
mov eax, 1
mov word [ebp - 0x174], ax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.004a7220
add esp, 8
movzx eax, word [ebp - 0x174]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x174], ax
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4a888b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x160], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x34], edx
mov esi, esp
mov eax, dword [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x154]
push ecx
lea edx, [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
cmp esi, esp
call fcn.00504bf9
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0x194], 0
je 0x4a8913
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x194]
push edx
call fcn.0049f8a0
add esp, 8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x194]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x24]
mov byte [eax + 1], 0xf9
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a8932
lea eax, [ebp - 0x190]
push eax
call fcn.0049ef40
add esp, 4
jmp 0x4aefd1
cmp dword [ebp - 0x164], 0
je 0x4a896c
lea eax, [ebp - 0x190]
push eax
call fcn.004a4390
add esp, 4
push eax
push 0x514cd4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 0x51]
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.004a3310
add esp, 8
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004a7220
add esp, 8
mov eax, dword [ebp - 0xa8]
push eax
call fcn.004b97c0
add esp, 4
test eax, eax
je 0x4a89ae
jmp 0x4aefad
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x90]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4a8a18
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049f230
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x90]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x24]
mov cl, byte [eax]
mov byte [ebp - 0x188], cl
movzx eax, byte [ebp - 0x188]
cmp eax, 0x52
jne 0x4a8a8e
mov eax, dword [ebp - 0x1a0]
and eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x19c]
and ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
jmp 0x4a8c95
movzx eax, byte [ebp - 0x188]
cmp eax, 0x53
jne 0x4a8ac3
mov eax, dword [ebp - 0x1a0]
or eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x19c]
or ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
jmp 0x4a8c95
mov eax, dword [ebp - 0x190]
or eax, dword [ebp - 0x18c]
je 0x4a8c95
cmp dword [ebp - 0x18c], 0
jg 0x4a8b62
jl 0x4a8aed
cmp dword [ebp - 0x190], 0
jae 0x4a8b62
movzx eax, byte [ebp - 0x188]
mov ecx, 0xa9
sub ecx, eax
mov byte [ebp - 0x188], cl
cmp dword [ebp - 0x18c], 0xffffffff
jl 0x4a8b36
jg 0x4a8b15
cmp dword [ebp - 0x190], 0xffffffc0
jbe 0x4a8b36
mov eax, dword [ebp - 0x190]
neg eax
mov ecx, dword [ebp - 0x18c]
adc ecx, 0
neg ecx
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
jmp 0x4a8b4a
mov dword [ebp - 0x308], 0x40
mov dword [ebp - 0x304], 0
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
jl 0x4a8bc4
jg 0x4a8b76
cmp dword [ebp - 0x190], 0x40
jb 0x4a8bc4
cmp dword [ebp - 0x19c], 0
jg 0x4a8ba2
jl 0x4a8b8a
cmp dword [ebp - 0x1a0], 0
jae 0x4a8ba2
movzx eax, byte [ebp - 0x188]
cmp eax, 0x54
je 0x4a8ba2
mov dword [ebp - 0x304], 0xffffffff
jmp 0x4a8bac
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
cdq
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
jmp 0x4a8c95
push 8
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x198]
push ecx
call fcn.004571c0
add esp, 0xc
movzx eax, byte [ebp - 0x188]
cmp eax, 0x54
jne 0x4a8c0d
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
call fcn.00505aa0
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
jmp 0x4a8c7d
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
call fcn.0046a250
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x19c], 0
jg 0x4a8c7d
jl 0x4a8c44
cmp dword [ebp - 0x1a0], 0
jae 0x4a8c7d
mov ecx, 0x40
sub ecx, dword [ebp - 0x190]
mov eax, 0
sbb eax, dword [ebp - 0x18c]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00505aa0
or eax, dword [ebp - 0x198]
or edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
push 8
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x19c]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x84]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x84]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
movzx eax, byte [ebp - 0x51]
push eax
push 0x63
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x4a8d72
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jne 0x4a8d64
mov dword [ebp - 0x30], 0x14
jmp 0x4aeffc
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4a8d8f
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x84]
mov word [edx + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 4
je 0x4a8dc4
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b9550
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a8def
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x84]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x84]
mov word [ecx + 0x1c], ax
movzx eax, byte [ebp - 0x51]
push eax
push 0x61
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a8e54
mov edx, dword [ebp - 0x84]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4a8e5e
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbfe3
mov edx, dword [ebp - 0x84]
mov word [edx + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a8eac
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x4a8ef0
movzx eax, byte [ebp - 0x51]
push eax
push 0x61
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0x84]
mov word [edx + 0x1c], cx
jmp 0x4a8f0a
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffff10
mov edx, dword [ebp - 0x84]
mov word [edx + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b95b0
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a8f65
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b94f0
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a8f9a
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b9550
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x84]
mov cx, word [eax + 0x1c]
mov word [ebp - 0x19a], cx
mov eax, dword [ebp - 0x9c]
mov cx, word [eax + 0x1c]
mov word [ebp - 0x198], cx
movzx eax, word [ebp - 0x19a]
movzx ecx, word [ebp - 0x198]
or eax, ecx
and eax, 1
je 0x4a908e
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x80
je 0x4a902f
movzx eax, word [ebp - 0x19a]
movzx ecx, word [ebp - 0x198]
and eax, ecx
and eax, 1
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x1a0], eax
jmp 0x4a9089
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4a906c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
jmp 0x4a9084
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4a9084
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
jmp 0x4a917a
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x67
mov byte [ebp - 0x19c], cl
movsx eax, byte [ebp - 0x19c]
test eax, eax
je 0x4a90f1
movzx eax, byte [ebp - 0x51]
push eax
movzx ecx, byte [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call fcn.004bb900
add esp, 0xc
movzx eax, byte [ebp - 0x51]
push eax
movzx ecx, byte [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4a90f1
jmp 0x4aefd1
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a911a
mov edx, dword [ebp - 0x84]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4a9124
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4a914d
mov edx, dword [ebp - 0x9c]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4a9157
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004b98d0
add esp, 0xc
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
sub edx, 0x4b
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 4
ja case.default.0x4a91a4
mov eax, dword [ebp - 0x304]
jmp dword [eax*4 + 0x4af344]
xor eax, eax
cmp dword [ebp - 0x1a0], 0
sete al
mov dword [ebp - 0x1a0], eax
jmp 0x4a9221
xor eax, eax
cmp dword [ebp - 0x1a0], 0
setne al
mov dword [ebp - 0x1a0], eax
jmp 0x4a9221
xor eax, eax
cmp dword [ebp - 0x1a0], 0
setl al
mov dword [ebp - 0x1a0], eax
jmp 0x4a9221
xor eax, eax
cmp dword [ebp - 0x1a0], 0
setle al
mov dword [ebp - 0x1a0], eax
jmp 0x4a9221
xor eax, eax
cmp dword [ebp - 0x1a0], 0
setg al
mov dword [ebp - 0x1a0], eax
jmp 0x4a9221
xor eax, eax
cmp dword [ebp - 0x1a0], 0
setge al
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4a9271
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x1a0]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4a9286
cmp dword [ebp - 0x1a0], 0
je 0x4a9286
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffff00
movzx edx, word [ebp - 0x19a]
and edx, 0xff
or ecx, edx
mov eax, dword [ebp - 0x84]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffff00
movzx edx, word [ebp - 0x198]
and edx, 0xff
or ecx, edx
mov eax, dword [ebp - 0x9c]
mov word [eax + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x19c], 0
jmp 0x4a9339
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a0]
jge 0x4a9414
cmp dword [ebp - 0xc0], 0
je 0x4a936b
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x304], edx
jmp 0x4a9377
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x19c]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x194]
add ecx, dword [ebp - 0x18c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x18c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x78]
push edx
call fcn.004b98d0
add esp, 0xc
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x4a940f
cmp dword [ebp - 0x184], 0
je 0x4a940d
mov eax, dword [ebp - 0xb4]
neg eax
mov dword [ebp - 0xb4], eax
jmp 0x4a9414
jmp 0x4a932a
mov dword [ebp - 0xc0], 0
jmp case.0x4a77f2.16
cmp dword [ebp - 0xb4], 0
jge 0x4a943a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4a945d
cmp dword [ebp - 0xb4], 0
jne 0x4a9451
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4a945d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a948f
mov dword [ebp - 0x1a0], 2
jmp 0x4a94da
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x308]
or ecx, dword [ebp - 0x304]
je 0x4a94c4
mov dword [ebp - 0x30c], 1
jmp 0x4a94ce
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a9507
mov dword [ebp - 0x19c], 2
jmp 0x4a9552
mov eax, dword [ebp - 0x90]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x308]
or ecx, dword [ebp - 0x304]
je 0x4a953c
mov dword [ebp - 0x30c], 1
jmp 0x4a9546
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x45
jne 0x4a957c
mov eax, dword [ebp - 0x1a0]
imul eax, eax, 3
mov ecx, dword [ebp - 0x19c]
movzx edx, byte [eax + ecx + 0x51afd4]
mov dword [ebp - 0x1a0], edx
jmp 0x4a9599
mov eax, dword [ebp - 0x1a0]
imul eax, eax, 3
mov ecx, dword [ebp - 0x19c]
movzx edx, byte [eax + ecx + 0x51b008]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0x1a0], 2
jne 0x4a95d3
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
jmp 0x4a9603
mov eax, dword [ebp - 0x1a0]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a964c
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049f230
add esp, 4
jmp 0x4a96a3
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x308]
or ecx, dword [ebp - 0x304]
jne 0x4a9681
mov dword [ebp - 0x30c], 1
jmp 0x4a968b
mov dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x30c]
cdq
push edx
push eax
mov edx, dword [ebp - 0xa8]
push edx
call fcn.004a4720
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a96ec
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0049f230
add esp, 4
jmp 0x4a9710
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3f20
add esp, 4
not eax
not edx
push edx
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004a4720
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
movzx ecx, byte [ecx + eax]
test ecx, ecx
je 0x4a973a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4a974d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov byte [ecx + eax], 1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a9781
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1a0], ecx
jmp 0x4a97dc
mov eax, dword [ebp - 0x84]
push eax
call fcn.004a3e50
add esp, 4
fcomp qword [0x5293e0]
fnstsw ax
test ah, 0x44
jnp 0x4a97a9
mov dword [ebp - 0x304], 1
jmp 0x4a97b3
mov dword [ebp - 0x304], 0
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x1c
jne 0x4a97dc
xor eax, eax
cmp dword [ebp - 0x1a0], 0
sete al
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x4a97f1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4a9823
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x4a9855
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], 0
push 0x28
push 0
lea eax, [ebp - 0x160]
push eax
call fcn.00453ec0
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x184], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ebp - 0x190]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
je 0x4a998d
mov eax, dword [ebp - 0x188]
push eax
call fcn.004b9e70
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a98f8
jmp 0x4aeffc
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4a9912
mov dword [ebp - 0x1a0], 0
jmp 0x4a998b
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x50]
cmp edx, dword [ecx + 0x54]
jne 0x4a9943
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x184], ecx
jmp 0x4a998b
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x4a9975
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.0049ddb0
add esp, 8
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
jmp 0x4a998b
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004b1c90
add esp, 8
jmp 0x4a9a0b
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x10], 0
jle 0x4a9a01
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x20
je 0x4a99e4
mov dword [ebp - 0x304], 0
jmp 0x4a99f0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x54]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x304]
mov dword [ecx + 0x50], edx
jmp 0x4a9a0b
mov dword [ebp - 0x1a0], 0
cmp dword [ebp - 0x1a0], 0
jne 0x4a9a36
mov eax, dword [ebp - 0x164]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x164]
mov word [edx + 0x1c], cx
jmp 0x4aa023
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [eax + 0x48]
jbe 0x4a9a49
jmp 0x4aefad
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x17c], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x50]
cmp edx, dword [ecx + 0x54]
jne 0x4a9a8c
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x178], ecx
jmp 0x4a9e3c
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x17c]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x178]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
mov dword [eax + 0x50], edx
cmp dword [ebp - 0x184], 0
je 0x4a9af2
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x168], eax
jmp 0x4a9b72
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x4a9b1e
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004b1f60
add esp, 8
mov dword [ebp - 0x168], eax
jmp 0x4a9b3a
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004b20b0
add esp, 8
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [ebp - 0x124]
ja 0x4a9b65
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x168]
mov dword [eax + 0x60], ecx
jmp 0x4a9b72
mov eax, dword [ebp - 0x188]
mov dword [eax + 0x60], 0
mov eax, dword [ebp - 0x168]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x4a9b9e
mov edx, dword [ebp - 0x168]
movzx eax, byte [edx]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x304], 1
jmp 0x4a9bbd
lea ecx, [ebp - 0x130]
push ecx
mov edx, dword [ebp - 0x168]
push edx
call fcn.0049bd60
add esp, 8
movzx eax, al
mov dword [ebp - 0x304], eax
movzx ecx, byte [ebp - 0x304]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x130], 0x18003
jbe 0x4a9bf1
mov eax, dword [0x537bdc]
add eax, 0x883
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x30], eax
jmp 0x4aa023
mov eax, dword [ebp - 0x174]
imul eax, eax, 5
add eax, 3
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x130]
jle 0x4a9c1d
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x184], 0
jne 0x4a9c8b
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0x170]
jge 0x4a9c8b
xor eax, eax
mov word [ebp - 0x144], ax
mov dword [ebp - 0x160], 0
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x188]
movzx edx, byte [ecx + 0x1f]
push edx
mov eax, dword [ebp - 0x170]
push eax
push 0
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004b9cd0
add esp, 0x14
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a9c7f
jmp 0x4aa023
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0x170]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0x128]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x16c], 0
jmp 0x4a9cca
mov eax, dword [ebp - 0x16c]
add eax, 1
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp eax, dword [ebp - 0x174]
jge 0x4a9dce
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x134]
jae 0x4a9db6
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x130]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x138]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x4a9d34
mov eax, dword [ebp - 0x138]
movzx ecx, byte [eax]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x138]
add eax, 1
mov dword [ebp - 0x138], eax
jmp 0x4a9d59
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0049bd60
add esp, 8
movzx edx, al
add edx, dword [ebp - 0x138]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x120]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x120]
push eax
call fcn.004ba210
add esp, 4
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x12c]
jae 0x4a9db4
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x138], eax
jmp 0x4a9dce
jmp 0x4a9dc9
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x178]
mov dword [ecx + eax*4], 0
jmp 0x4a9cbb
lea eax, [ebp - 0x160]
push eax
call fcn.0049ef40
add esp, 4
mov eax, 1
mov word [ebp - 0x144], ax
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x134]
ja 0x4a9e21
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x1a0]
ja 0x4a9e21
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x134]
jne 0x4a9e3c
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x1a0]
je 0x4a9e3c
mov eax, dword [0x537bdc]
add eax, 0x8d3
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x30], eax
jmp 0x4aa023
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x178]
cmp dword [ecx + eax*4], 0
je 0x4a9f70
cmp dword [ebp - 0x184], 0
je 0x4a9eb6
mov eax, dword [ebp - 0x164]
movzx ecx, word [eax + 0x1c]
and ecx, 0x2460
je 0x4a9e7c
mov eax, dword [ebp - 0x164]
push eax
call fcn.0049efc0
add esp, 4
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x17c]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x184]
add eax, dword [edx + ecx*4]
push eax
call fcn.004ba3f0
add esp, 0xc
jmp 0x4a9f62
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004ba210
add esp, 4
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x164]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.004a7220
add esp, 8
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x188]
movzx edx, byte [ecx + 0x1f]
push edx
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
call fcn.004b9cd0
add esp, 0x14
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4a9f30
jmp 0x4aa023
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x17c]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.004ba3f0
add esp, 0xc
mov eax, dword [ebp - 0x164]
mov cl, byte [ebp - 0x51]
mov byte [eax + 0x1f], cl
jmp 0x4a9fb6
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff8
jne 0x4a9f99
push 0x800
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x164]
push edx
call fcn.004b9830
add esp, 0xc
jmp 0x4a9fb6
mov eax, dword [ebp - 0x164]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x164]
mov word [edx + 0x1c], cx
cmp dword [ebp - 0x13c], 0
je 0x4aa011
mov eax, dword [ebp - 0x164]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffe7ff
mov edx, dword [ebp - 0x164]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x164]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0x164]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x164]
push eax
call fcn.0049eda0
add esp, 4
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x1a0]
mov cl, byte [eax]
mov byte [ebp - 0x19c], cl
movsx edx, byte [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
test edx, edx
je 0x4aa07a
mov dword [ebp - 0x304], 1
jmp 0x4aa084
mov dword [ebp - 0x304], 0
cmp dword [ebp - 0x304], 0
je 0x4aa0f0
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4aa0b6
mov edx, dword [ebp - 0x84]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4aa0c0
mov dword [ebp - 0x304], 0
movzx eax, byte [ebp - 0x51]
push eax
movzx ecx, byte [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x84]
add eax, 0x28
mov dword [ebp - 0x84], eax
jmp 0x4aa046
jmp case.0x4a77f2.16
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x168], ecx
mov eax, dword [ebp - 0x16c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x16c]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x174]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x65]
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
jmp 0x4aa1a7
mov eax, dword [ebp - 0x19c]
add eax, 0x28
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x170]
ja 0x4aa2d3
cmp dword [ebp - 0x168], 0
je 0x4aa1f5
movzx eax, byte [ebp - 0x51]
push eax
mov eax, dword [ebp - 0x19c]
sub eax, dword [ebp - 0x174]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x168]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004bb900
add esp, 0xc
mov eax, dword [ebp - 0x19c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4aa222
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0x18], 0
jle 0x4aa222
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0049ee80
add esp, 4
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004ba060
add esp, 8
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
push eax
call fcn.004ba210
add esp, 4
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
cdq
add eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
adc ecx, edx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x178]
xor ecx, ecx
push ecx
push eax
call fcn.004af570
add esp, 8
add eax, dword [ebp - 0x190]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x19c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4aa2bb
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x180]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x180], ecx
jmp 0x4aa2ce
cmp dword [ebp - 0x15c], 0
je 0x4aa2ce
mov dword [ebp - 0x180], 0
jmp 0x4aa198
mov eax, dword [ebp - 0x190]
cdq
push edx
push eax
call fcn.004af570
add esp, 8
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x190]
add eax, dword [ebp - 0x17c]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
cdq
push edx
push eax
call fcn.004af570
add esp, 8
cmp dword [ebp - 0x17c], eax
jge 0x4aa324
mov eax, dword [ebp - 0x190]
add eax, 1
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x198]
adc esi, dword [ebp - 0x194]
mov eax, dword [ebp - 0x180]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [ebp - 0x304]
jl 0x4aa388
jg 0x4aa383
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x308]
jbe 0x4aa388
jmp 0x4aefad
push 0
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.0049eb90
add esp, 0xc
test eax, eax
je 0x4aa3a9
jmp 0x4aefd1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x190], 0x80
jae 0x4aa3de
mov eax, dword [ebp - 0x1a0]
mov cl, byte [ebp - 0x190]
mov byte [eax], cl
mov dword [ebp - 0x304], 1
jmp 0x4aa3fa
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004af360
add esp, 8
mov dword [ebp - 0x304], eax
movzx ecx, byte [ebp - 0x304]
mov dword [ebp - 0x160], ecx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
jmp 0x4aa424
mov eax, dword [ebp - 0x19c]
add eax, 0x28
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x170]
ja 0x4aa4b8
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004ba060
add esp, 8
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0x80
jae 0x4aa47e
mov eax, dword [ebp - 0x1a0]
add eax, dword [ebp - 0x160]
mov cl, byte [ebp - 0x178]
mov byte [eax], cl
mov dword [ebp - 0x304], 1
jmp 0x4aa4a0
mov edx, dword [ebp - 0x178]
push edx
mov eax, dword [ebp - 0x1a0]
add eax, dword [ebp - 0x160]
push eax
call fcn.004af360
add esp, 8
mov dword [ebp - 0x304], eax
movzx ecx, byte [ebp - 0x304]
add ecx, dword [ebp - 0x160]
mov dword [ebp - 0x160], ecx
jmp 0x4aa415
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
jmp 0x4aa4d5
mov eax, dword [ebp - 0x19c]
add eax, 0x28
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x170]
ja 0x4aa52c
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x160]
cdq
mov ecx, dword [ebp - 0x188]
sub ecx, eax
mov eax, dword [ebp - 0x184]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0x1a0]
add ecx, dword [ebp - 0x160]
push ecx
call fcn.004ba260
add esp, 0x10
add eax, dword [ebp - 0x160]
mov dword [ebp - 0x160], eax
jmp 0x4aa4c6
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0x180], 0
je 0x4aa589
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x1f], 1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0
je 0x4aa5d3
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.004b7bc0
add esp, 8
mov dword [ebp - 0x30], eax
jmp 0x4aa5e7
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x19c]
mov dword [eax + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x1a0], 0
jne 0x4aa76d
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x90], 0
jle 0x4aa659
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 5
jmp 0x4aa768
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00488bd0
add esp, 4
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e4]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 0x1e0]
push ecx
push 0
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004ca0b0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aa69d
jmp 0x4aeffc
mov eax, dword [ebp - 0x198]
add eax, 0x19
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486770
add esp, 8
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x4aa768
mov eax, dword [ebp - 0x194]
add eax, 0x18
mov ecx, dword [ebp - 0x194]
mov dword [ecx], eax
mov eax, dword [ebp - 0x198]
add eax, 1
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x194]
mov eax, dword [edx]
push eax
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4aa717
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1e8], 1
jmp 0x4aa72c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e0]
add ecx, 1
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x1e0], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x1dc]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x194]
mov dword [eax + 0x1dc], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x1f0]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0x1f4]
mov dword [eax + 0xc], ecx
jmp 0x4aaadf
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1dc]
mov dword [ebp - 0x190], ecx
jmp 0x4aa797
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
je 0x4aa7cd
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx]
push edx
call fcn.00488c30
add esp, 8
test eax, eax
je 0x4aa7cd
mov eax, dword [ebp - 0x188]
add eax, 1
mov dword [ebp - 0x188], eax
jmp 0x4aa788
cmp dword [ebp - 0x190], 0
jne 0x4aa801
mov eax, dword [ebp - 0x19c]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
mov dword [ebp - 0x30], 1
jmp 0x4aaadf
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x90], 0
jg 0x4aa822
cmp dword [ebp - 0x1a0], 2
jne 0x4aa86c
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x8c], 1
jle 0x4aa86c
cmp dword [ebp - 0x1a0], 2
jne 0x4aa837
mov dword [ebp - 0x304], str.rollback
jmp 0x4aa841
mov dword [ebp - 0x304], str.release
mov eax, dword [ebp - 0x304]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
mov dword [ebp - 0x30], 5
jmp 0x4aaadf
mov eax, dword [ebp - 0x190]
cmp dword [eax + 0x10], 0
jne 0x4aa892
mov ecx, dword [ebp - 0x3c]
movzx edx, byte [ecx + 0x1e8]
test edx, edx
je 0x4aa892
mov dword [ebp - 0x304], 1
jmp 0x4aa89c
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
je 0x4aa92b
cmp dword [ebp - 0x1a0], 1
jne 0x4aa92b
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004a2b20
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aa8d6
jmp 0x4aef84
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp + 8]
push eax
call fcn.0049fd10
add esp, 4
cmp eax, 5
jne 0x4aa913
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1c], 0
mov dword [ebp - 0x30], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
jmp 0x4aef84
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1e8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x30], ecx
jmp 0x4aa9e9
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e0]
sub ecx, dword [ebp - 0x188]
sub ecx, 1
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], 0
jmp 0x4aa95e
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [eax + 4]
jge 0x4aa9a6
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x184]
shl edx, 4
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004a2a40
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aa9a4
jmp 0x4aeffc
jmp 0x4aa94f
cmp dword [ebp - 0x1a0], 2
jne 0x4aa9e9
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xc]
and ecx, 0x200
je 0x4aa9e9
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004bb030
add esp, 4
push 0xffffffffffffffff
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004c1390
add esp, 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xc]
or ecx, 0x200
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1dc]
cmp ecx, dword [ebp - 0x190]
je 0x4aaa45
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1dc]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1dc], edx
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e0]
sub ecx, 1
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x1e0], ecx
jmp 0x4aa9e9
cmp dword [ebp - 0x1a0], 1
jne 0x4aaa93
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1dc], edx
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
cmp dword [ebp - 0x1c4], 0
jne 0x4aaa91
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e0]
sub ecx, 1
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x1e0], ecx
jmp 0x4aaaae
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx + 8]
mov dword [eax + 0x1f0], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0x1f4], ecx
cmp dword [ebp - 0x1c4], 0
jne 0x4aaadf
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004ca0b0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aaadf
jmp 0x4aeffc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x1a0], 0
je 0x4aab1c
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x4aab1c
mov dword [ebp - 0x304], 1
jmp 0x4aab26
mov dword [ebp - 0x304], 0
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0
je 0x4aab74
cmp dword [ebp - 0x19c], 0
je 0x4aab74
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x8c], 1
jle 0x4aab74
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 5
jmp 0x4aacde
cmp dword [ebp - 0x198], 0
je 0x4aabb6
cmp dword [ebp - 0x19c], 0
jne 0x4aabb6
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x90], 0
jle 0x4aabb6
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 5
jmp 0x4aacde
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0x1a0], ecx
je 0x4aac7d
cmp dword [ebp - 0x19c], 0
je 0x4aabe7
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00500760
add esp, 4
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1c], 1
jmp 0x4aac51
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004a2b20
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aac05
jmp 0x4aef84
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x1a0]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp + 8]
push eax
call fcn.0049fd10
add esp, 4
cmp eax, 5
jne 0x4aac51
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x58], ecx
mov eax, 1
sub eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 0x1c], al
mov dword [ebp - 0x30], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
jmp 0x4aef84
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00500170
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 0
jne 0x4aac6f
mov dword [ebp - 0x30], 0x65
jmp 0x4aac76
mov dword [ebp - 0x30], 1
jmp 0x4aef84
cmp dword [ebp - 0x1a0], 0
jne 0x4aac92
mov dword [ebp - 0x304], str.cannot_start_a_transaction_within_a_transaction
jmp 0x4aacbd
cmp dword [ebp - 0x19c], 0
je 0x4aaca7
mov dword [ebp - 0x308], str.cannot_rollback___no_transaction_is_active
jmp 0x4aacb1
mov dword [ebp - 0x308], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1a0], 0
je 0x4aae16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.00498210
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 5
jne 0x4aad46
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x58], ecx
mov dword [ebp - 0x30], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
jmp 0x4aef84
cmp dword [ebp - 0x30], 0
je 0x4aad51
jmp 0x4aeffc
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
je 0x4aae16
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x67]
test ecx, ecx
je 0x4aae16
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4aad88
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x8c], 1
jle 0x4aae16
mov eax, dword [ebp + 8]
cmp dword [eax + 0x78], 0
jne 0x4aadbe
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e4]
add ecx, 1
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x1e4], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x1e0]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 0x1e4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x78], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x78]
sub ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004ca0b0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4aadf8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.004b1a20
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x1f0]
mov dword [eax + 0x98], edx
mov ecx, dword [ecx + 0x1f4]
mov dword [eax + 0x9c], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x198], ecx
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x19c]
shl edx, 4
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0049d160
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 8]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 4]
push edx
call fcn.0049d1e0
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 1
jne 0x4aaf02
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xc]
or ecx, 0x200
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0xc], ecx
jmp 0x4aaf20
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 2
jne 0x4aaf20
mov eax, dword [ebp - 0x9c]
mov cl, byte [eax + 0x10]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 0xc]
mov byte [eax + 0x4c], cl
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 1
jne 0x4aaf3c
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004bb030
add esp, 4
mov eax, dword [ebp + 8]
mov byte [eax + 0x63], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 0
je 0x4aaf99
lea eax, [ebp - 0x1a0]
push eax
push 1
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.0049d160
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x19c], edx
jmp 0x4aafaf
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [eax + 8]
jne 0x4aafcb
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x19c]
cmp ecx, dword [eax + 0xc]
je 0x4ab033
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00486320
add esp, 8
push str.database_schema_has_changed
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a4dd0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 0xc]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x1a0]
je 0x4ab025
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004c1390
add esp, 8
mov eax, dword [ebp + 8]
mov byte [eax + 0x63], 1
mov dword [ebp - 0x30], 0x11
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x63]
test ecx, ecx
je 0x4ab04f
mov dword [ebp - 0x30], 4
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x194]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx + 8]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x28
jne 0x4ab0e0
mov dword [ebp - 0x190], 1
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x65]
cmp edx, ecx
jge 0x4ab0de
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x4c]
mov byte [edx + 0x65], al
jmp 0x4ab0ea
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4ab149
mov eax, dword [ebp - 0x198]
imul eax, eax, 0x28
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 2
jge 0x4ab149
mov eax, dword [0x537bdc]
add eax, 0xbe9
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x30], eax
jmp 0x4aeffc
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x4ab18d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x19c]
mov dl, byte [eax + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x19c]
movzx ecx, word [eax + 6]
add ecx, 1
mov dword [ebp - 0x1a0], ecx
jmp 0x4ab1a5
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x4ab1a5
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
push 1
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb730
add esp, 0x14
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
jne 0x4ab1dc
jmp 0x4aefd1
mov eax, dword [ebp - 0x188]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x188]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
call fcn.004b1a90
add esp, 0x14
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x19c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
xor edx, edx
cmp ecx, 0xfffffffa
setne dl
mov eax, dword [ebp - 0x188]
mov byte [eax + 0x1e], dl
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1e]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x188]
mov byte [edx + 0x1f], cl
jmp case.0x4a77f2.16
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb730
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
jne 0x4ab298
jmp 0x4aefd1
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1c], 1
mov eax, dword [0x51b014]
push eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
or edx, 9
push edx
mov eax, dword [ebp - 0x1a0]
add eax, 4
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
push eax
call fcn.004b0520
add esp, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ab2f1
push 1
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
push ecx
call fcn.00498210
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ab3c6
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4ab398
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
or ecx, 2
push ecx
lea edx, [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
push ecx
call fcn.004b71d0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ab38c
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
push 1
mov ecx, dword [ebp - 0x1d0]
push ecx
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 4]
push eax
call fcn.004b1a90
add esp, 0x14
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1e], 0
jmp 0x4ab3c6
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
push ecx
push 0
push 1
push 1
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 4]
push eax
call fcn.004b1a90
add esp, 0x14
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
xor edx, edx
cmp ecx, 0x10
setne dl
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x20], dl
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x1e]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x1a0]
mov byte [edx + 0x1f], cl
jmp case.0x4a77f2.16
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb730
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
jne 0x4ab42f
jmp 0x4aefd1
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004bd760
add esp, 8
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb730
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
jne 0x4ab4af
jmp 0x4aefd1
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1f], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004a0520
add esp, 8
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov dword [eax + ecx*4], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x198]
cmp dword [eax], 0
je 0x4ab950
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4ab79f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004a7490
add esp, 4
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004a3f20
add esp, 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x4ab737
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 0x1c]
and ecx, 8
jne 0x4ab5da
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
cmp dword [ebp - 0x170], 0
jne 0x4ab6bb
cmp dword [ebp - 0x16c], 0x80000000
jne 0x4ab6bb
fild qword [ebp - 0x170]
mov eax, dword [ebp - 0x9c]
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
je 0x4ab623
mov eax, dword [ebp - 0x9c]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x4ab6bb
mov dword [ebp - 0x1a0], 1
mov eax, dword [ebp - 0x9c]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
jne 0x4ab670
cmp dword [ebp - 0x19c], 0x30
jl 0x4ab66e
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b2110
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab66e
jmp 0x4aeffc
jmp 0x4ab69f
cmp dword [ebp - 0x19c], 0x2f
jg 0x4ab69f
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b2640
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab69f
jmp 0x4aeffc
cmp dword [ebp - 0x1a0], 0
je 0x4ab6b4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
cmp dword [ebp - 0x19c], 0x2e
je 0x4ab6cd
cmp dword [ebp - 0x19c], 0x30
jne 0x4ab703
fild qword [ebp - 0x170]
mov eax, dword [ebp - 0x9c]
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x4ab701
mov eax, dword [ebp - 0x170]
add eax, 1
mov ecx, dword [ebp - 0x16c]
adc ecx, 0
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
jmp 0x4ab737
fild qword [ebp - 0x170]
mov eax, dword [ebp - 0x9c]
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
jne 0x4ab737
mov eax, dword [ebp - 0x170]
sub eax, 1
mov ecx, dword [ebp - 0x16c]
sbb ecx, 0
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
lea eax, [ebp - 0x1a0]
push eax
push 0
mov ecx, dword [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 0x170]
push edx
push 0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab76f
jmp 0x4aeffc
cmp dword [ebp - 0x1a0], 0
jne 0x4ab79a
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x170]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0x16c]
mov dword [eax + 0x44], edx
jmp 0x4ab85c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x178], ecx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x190], ecx
mov ax, word [ebp - 0x178]
mov word [ebp - 0x18c], ax
mov eax, dword [ebp - 0x19c]
sub eax, 0x2e
and eax, 1
mov byte [ebp - 0x18a], al
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x180], ecx
mov eax, dword [ebp - 0x180]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4ab815
mov edx, dword [ebp - 0x180]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4ab81f
mov dword [ebp - 0x304], 0
lea eax, [ebp - 0x1a0]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x190]
push ecx
mov edx, dword [ebp - 0x198]
mov eax, dword [edx]
push eax
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab852
jmp 0x4aeffc
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x198]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0x19c], 0x30
jl 0x4ab8d5
cmp dword [ebp - 0x1a0], 0
jl 0x4ab897
cmp dword [ebp - 0x1a0], 0
jne 0x4ab8c9
cmp dword [ebp - 0x19c], 0x31
jne 0x4ab8c9
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b2da0
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab8bd
jmp 0x4aeffc
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 0
jmp 0x4ab8d3
mov dword [ebp - 0x1a0], 0
jmp 0x4ab939
cmp dword [ebp - 0x1a0], 0
jg 0x4ab8f0
cmp dword [ebp - 0x1a0], 0
jne 0x4ab922
cmp dword [ebp - 0x19c], 0x2e
jne 0x4ab922
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b3060
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ab916
jmp 0x4aeffc
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 0
jmp 0x4ab939
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b2d60
add esp, 4
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x4ab94e
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4ab95c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
cmp dword [eax], 0
je 0x4ab9cc
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
push eax
call fcn.004a3f20
add esp, 4
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1d], 1
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x19c]
cmp dword [eax], 0
je 0x4abb4c
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
jle 0x4aba58
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x24]
mov cx, word [eax + 0x10]
mov word [ebp - 0x184], cx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x178], eax
mov byte [ebp - 0x182], 2
lea eax, [ebp - 0x188]
mov dword [ebp - 0x190], eax
jmp 0x4abad4
lea eax, [ebp - 0x194]
push eax
push 0x97
lea ecx, [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 8]
push eax
call fcn.004ba770
add esp, 0x10
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
jne 0x4aba91
jmp 0x4aefd1
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 8]
push eax
call fcn.004ba840
add esp, 0x10
mov eax, dword [ebp - 0x190]
movzx ecx, byte [eax + 6]
or ecx, 2
mov edx, dword [ebp - 0x190]
mov byte [edx + 6], cl
lea eax, [ebp - 0x198]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x190]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx]
push eax
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
jne 0x4abb18
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
cmp dword [ebp - 0x30], 0
je 0x4abb23
jmp case.0x4a77f2.16
xor eax, eax
cmp dword [ebp - 0x198], 0
sete al
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x19c]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x19c]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x34
jne 0x4abb6e
cmp dword [ebp - 0x1a0], 0
je 0x4abb6c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4abb83
cmp dword [ebp - 0x1a0], 0
jne 0x4abb83
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x19c]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0x19c]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 8]
mov dx, word [ecx + 6]
mov word [ebp - 0x194], dx
xor eax, eax
mov word [ebp - 0x1a0], ax
jmp 0x4abc1a
mov ax, word [ebp - 0x1a0]
add ax, 1
mov word [ebp - 0x1a0], ax
movzx eax, word [ebp - 0x1a0]
movzx ecx, word [ebp - 0x194]
cmp eax, ecx
jge 0x4abc60
movzx eax, word [ebp - 0x1a0]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x190]
movzx edx, word [ecx + eax + 0x1c]
and edx, 1
je 0x4abc5e
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x198], 0
jmp 0x4abc60
jmp 0x4abc08
cmp dword [ebp - 0x198], 0
je 0x4abd3e
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x188], ecx
movzx eax, word [ebp - 0x194]
add eax, 1
mov word [ebp - 0x184], ax
mov byte [ebp - 0x182], 4
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x170], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x19c]
add eax, 0x4c
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x188]
push ecx
mov edx, dword [ebp - 0x198]
push edx
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 0x182]
and eax, 4
jne 0x4abd18
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x170]
jne 0x4abd26
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [ebp - 0x16c]
jne 0x4abd26
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4abd3e
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x17c]
mov dword [eax + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x19c], 0
je 0x4abe46
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x18c], edx
lea eax, [ebp - 0x198]
push eax
push 0
mov ecx, dword [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0x190]
push edx
push 0
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x40], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x44], ecx
xor eax, eax
cmp dword [ebp - 0x198], 0
sete al
mov ecx, dword [ebp - 0x1a0]
mov byte [ecx + 0x19], al
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1d], 0
cmp dword [ebp - 0x198], 0
je 0x4abe35
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x4c], ecx
jmp 0x4abe5f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x4c], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov ecx, dword [ecx + 0x34]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [eax + 0x34]
adc edx, 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x44]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x198]
cmp dword [eax], 0
jne 0x4abefd
jmp 0x4ac301
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
jne 0x4ac17c
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b1c60
add esp, 4
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x1a0]
or eax, dword [ebp - 0x19c]
jne 0x4abfdd
lea eax, [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b2640
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4abf64
jmp 0x4aeffc
cmp dword [ebp - 0x194], 0
je 0x4abf83
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x19c], 0
jmp 0x4abfdd
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.0049ddb0
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x1a0], 0xffffffff
jne 0x4abfbf
cmp dword [ebp - 0x19c], 0x7fffffff
jne 0x4abfbf
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x1b], 1
jmp 0x4abfdd
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov ecx, dword [ebp - 0x19c]
adc ecx, 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0
je 0x4ac112
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
je 0x4ac03e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x188], ecx
jmp 0x4ac016
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x44], 0
je 0x4ac024
jmp 0x4ac007
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x188]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x18c], ecx
jmp 0x4ac050
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x18c]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
cmp dword [ecx + 0x10], 0xffffffff
jne 0x4ac086
mov edx, dword [ebp - 0x304]
cmp dword [edx + 0x14], 0x7fffffff
je 0x4ac094
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
je 0x4ac0a0
mov dword [ebp - 0x30], 0xd
jmp 0x4aeffc
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [eax + 0x14]
adc edx, 0
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x304]
jg 0x4ac0fa
jl 0x4ac0dc
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x308]
jae 0x4ac0fa
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [eax + 0x14]
adc edx, 0
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x19c]
mov dword [eax + 0x14], edx
cmp dword [ebp - 0x19c], 0x7fffffff
jg 0x4ac149
jl 0x4ac129
cmp dword [ebp - 0x1a0], 0xffffffff
jae 0x4ac149
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov ecx, dword [ebp - 0x19c]
adc ecx, 0
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
jmp 0x4ac15d
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
mov edx, dword [ebp - 0x304]
push edx
mov eax, dword [ebp - 0x308]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx]
push edx
call fcn.004b1bf0
add esp, 0xc
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
je 0x4ac2e0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
and ecx, 0x3fffffff
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov ecx, dword [ebp - 0x19c]
adc ecx, 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x190], 0
lea eax, [ebp - 0x194]
push eax
push 0
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
push 0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ac2c5
cmp dword [ebp - 0x194], 0
jne 0x4ac2c5
mov eax, dword [ebp - 0x190]
add eax, 1
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0x64
jge 0x4ac2c5
lea eax, [ebp - 0x1a0]
push eax
push 8
call fcn.004888a0
add esp, 8
cmp dword [ebp - 0x190], 5
jge 0x4ac284
mov eax, dword [ebp - 0x1a0]
and eax, 0xffffff
mov ecx, dword [ebp - 0x19c]
and ecx, 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
jmp 0x4ac2a2
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
and ecx, 0x3fffffff
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov ecx, dword [ebp - 0x19c]
adc ecx, 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
jmp 0x4ac1ec
cmp dword [ebp - 0x30], 0
jne 0x4ac2e0
cmp dword [ebp - 0x194], 0
jne 0x4ac2e0
mov dword [ebp - 0x30], 0xd
jmp 0x4aeffc
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x198]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x198]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x19c]
mov dword [eax + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x39
jne 0x4ac37c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x198], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x194], edx
jmp 0x4ac38f
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 1
je 0x4ac3aa
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x4ac3e3
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x34], ecx
mov eax, dword [ebp - 0x1a0]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4ac40c
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4ac429
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x304], eax
jmp 0x4ac433
mov dword [ebp - 0x304], 0
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x1a0]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4ac462
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x18c], ecx
jmp 0x4ac46c
mov dword [ebp - 0x18c], 0
push 0
push 0
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax]
push ecx
call fcn.004b1bf0
add esp, 0xc
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
and edx, 8
push edx
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x194]
push edx
mov eax, dword [ebp - 0x198]
push eax
push 0
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx]
push edx
call fcn.004b3290
add esp, 0x24
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x190]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x190]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x190]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0x30], 0
jne 0x4ac59f
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xbc], 0
je 0x4ac59f
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4ac59f
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0xc]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x180], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 4
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
mov dword [ebp - 0x17c], ecx
mov esi, esp
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x184]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 0xb8]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0xbc]
call edx
add esp, 0x18
cmp esi, esp
call fcn.00504bf9
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xbc], 0
je 0x4ac5fa
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4ac5fa
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x198]
push eax
call fcn.004b9e70
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ac617
jmp 0x4aeffc
push 0
push 0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b1bf0
add esp, 0xc
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
push ecx
call fcn.004b6e40
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x198]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0x30], 0
jne 0x4ac6ce
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xbc], 0
je 0x4ac6ce
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4ac6ce
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0xc]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1e8], ecx
mov esi, esp
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x1e8]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
push 9
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0xb8]
push edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xbc]
call ecx
add esp, 0x18
cmp esi, esp
call fcn.00504bf9
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x4ac6e8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004a2dc0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
lea eax, [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.004bef70
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x19c], 0
je 0x4ac76b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.004bee10
add esp, 8
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b9e70
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ac807
jmp 0x4aeffc
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x4ac86f
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0049ddb0
add esp, 8
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [ebp - 0x304]
jl 0x4ac861
jg 0x4ac85c
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x308]
jbe 0x4ac861
jmp 0x4aefad
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x198], eax
jmp 0x4ac898
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004b1c90
add esp, 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [eax + 0x48]
jbe 0x4ac898
jmp 0x4aefad
push 0
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.0049eb90
add esp, 0xc
test eax, eax
je 0x4ac8b9
jmp 0x4aefd1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0xa8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x4ac91a
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x198]
push edx
push 0
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0049df20
add esp, 0x10
mov dword [ebp - 0x30], eax
jmp 0x4ac93f
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x198]
push edx
push 0
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b1ce0
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x1f], 1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4ac98a
mov eax, 1
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x1d]
test ecx, ecx
je 0x4ac9b5
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x198], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x194], edx
jmp 0x4aca80
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x24], 0
je 0x4aca20
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax]
mov dword [ebp - 0x18c], ecx
mov esi, esp
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x30]
call ecx
add esp, 8
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
jmp 0x4aca80
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b9e70
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4aca3d
jmp 0x4aeffc
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4aca65
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x198], ecx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x194], edx
jmp 0x4aca80
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
push edx
call fcn.0049ddb0
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x194]
mov dword [eax + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x1a0]
cmp dword [eax], 0
je 0x4acae2
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
push ecx
call fcn.0049dd50
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], 0
cmp dword [ebp - 0x19c], 0
je 0x4acb36
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004b2640
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov cl, byte [ebp - 0x198]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jle 0x4acb84
cmp dword [ebp - 0x198], 0
je 0x4acb84
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x198], 1
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x48], 0
je 0x4acbe8
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004be270
add esp, 0xc
mov dword [ebp - 0x30], eax
jmp 0x4acc45
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004b2110
add esp, 8
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x198], 0
sete al
mov ecx, dword [ebp - 0x1a0]
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x1a0]
mov cl, byte [ebp - 0x198]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0x198], 0
je 0x4acc69
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xe0], 0
je 0x4acc7f
jmp 0x4af041
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1a0], 0
jne 0x4acca2
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x48], 0
je 0x4acccd
lea eax, [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004becf0
add esp, 0xc
mov dword [ebp - 0x30], eax
jmp 0x4accfe
mov dword [ebp - 0x19c], 1
mov esi, esp
lea eax, [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 8
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov cl, byte [ebp - 0x19c]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0x19c], 0
jne 0x4acd59
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4acd59
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0x78]
add eax, 1
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x78], eax
mov eax, dword [ebp - 0x1a0]
mov byte [eax + 0x19], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x19c], 0
je 0x4acea9
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4acdd3
mov edx, dword [ebp - 0x90]
push edx
call fcn.0049ee80
add esp, 4
mov dword [ebp - 0x304], eax
jmp 0x4acddd
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4acea9
mov eax, dword [ebp - 0x1a0]
cmp dword [eax + 0x48], 0
je 0x4ace1e
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004bda40
add esp, 0xc
mov dword [ebp - 0x30], eax
jmp 0x4acea9
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4ace59
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x304], eax
jmp 0x4ace63
mov dword [ebp - 0x304], 0
mov ecx, dword [ebp - 0x304]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x522690
mov eax, dword [ebp - 0x198]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x194]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
call fcn.004b3290
add esp, 0x24
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp - 0x19c], 0
je 0x4acf68
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
mov cx, word [eax + 0xc]
mov word [ebp - 0x18c], cx
mov byte [ebp - 0x18a], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x180], ecx
lea eax, [ebp - 0x198]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x190]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
call fcn.004b27d0
add esp, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4acf5b
cmp dword [ebp - 0x198], 0
jne 0x4acf5b
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b6e40
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x50], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax]
mov dword [ebp - 0x1a0], ecx
mov eax, 1
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x1a0], 0
je 0x4ad022
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b9e70
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4acfc5
jmp 0x4aeffc
mov eax, dword [ebp - 0x19c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x4ad022
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004bacd0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4acffb
jmp 0x4aeffc
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x194]
mov dword [eax + 0x14], edx
mov eax, 4
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
cmp dword [eax], 0
je 0x4ad0f4
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
mov cx, word [eax + 0x10]
mov word [ebp - 0x194], cx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4ad07c
mov byte [ebp - 0x192], 3
jmp 0x4ad083
mov byte [ebp - 0x192], 2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x188], ecx
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.004baf00
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x64
jne 0x4ad0d0
mov eax, dword [ebp - 0x19c]
neg eax
mov dword [ebp - 0x19c], eax
jmp 0x4ad0df
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
jle 0x4ad0f4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x88]
mov dword [ebp - 0x198], ecx
jmp 0x4ad123
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 0
je 0x4ad167
mov eax, dword [ebp - 0x198]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4ad165
mov eax, dword [ebp - 0x198]
movzx ecx, byte [eax + 0x66]
cmp ecx, 2
jge 0x4ad165
mov eax, dword [ebp - 0x198]
cmp dword [eax + 0x58], 0
jl 0x4ad165
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
jmp 0x4ad114
mov eax, 1
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x19c], 1
jle 0x4ad192
mov dword [ebp - 0x30], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x60], 2
jmp 0x4ad229
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x194], ecx
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x194]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004b7880
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, 4
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1a0]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
cmp dword [ebp - 0x30], 0
jne 0x4ad229
cmp dword [ebp - 0x1a0], 0
je 0x4ad229
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c1b60
add esp, 0x10
mov eax, dword [ebp - 0x194]
add eax, 1
mov byte [ebp - 0x45], al
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x1a0]
and ecx, edx
push ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004b75c0
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0
je 0x4ad2c6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0
jle 0x4ad2c6
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0x1a0]
cdq
mov esi, dword [ebp - 0x78]
add eax, dword [esi + ecx + 0x10]
mov ecx, dword [esi + ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0x78]
mov dword [esi + edx + 0x10], eax
mov dword [esi + edx + 0x14], ecx
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 8]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x69
jne 0x4ad301
mov dword [ebp - 0x19c], 1
jmp 0x4ad30b
mov dword [ebp - 0x19c], 2
mov eax, dword [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x198]
mov eax, dword [edx + 4]
push eax
call fcn.004b71d0
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a0], ecx
mov eax, 1
test eax, eax
je 0x4ad370
cmp dword [ebp - 0x1a0], 1
jne 0x4ad370
mov dword [ebp - 0x304], str.sqlite_temp_master
jmp 0x4ad37a
mov dword [ebp - 0x304], str.sqlite_master
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp + 8]
add eax, 0x38
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x1a0]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax]
push eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004a25e0
add esp, 0x14
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jne 0x4ad3f1
mov dword [ebp - 0x30], 7
jmp 0x4ad44f
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x7c], 1
mov dword [ebp - 0x188], 0
push 0
lea eax, [ebp - 0x194]
push eax
push fcn.004c59c0
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004c4f00
add esp, 0x14
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ad435
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x7c], 0
cmp dword [ebp - 0x30], 7
jne 0x4ad45a
jmp 0x4aefd1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004bfb60
add esp, 8
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c1a10
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c0ce0
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c8200
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00486770
add esp, 8
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
jne 0x4ad511
jmp 0x4aefd1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x198], 0
jmp 0x4ad550
mov eax, dword [ebp - 0x198]
add eax, 1
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x1a0]
jge 0x4ad587
mov eax, dword [ebp - 0x198]
imul eax, eax, 0x28
add eax, dword [ebp - 0x84]
push eax
call fcn.004a3f20
add esp, 4
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x19c]
mov dword [edx + ecx*4], eax
jmp 0x4ad541
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x19c]
mov dword [ecx + eax*4], 0
lea eax, [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004b7db0
add esp, 0x14
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
mov eax, dword [ebp - 0x194]
cdq
mov ecx, dword [ebp - 0x18c]
mov esi, dword [ecx + 0x10]
sub esi, eax
mov eax, dword [ecx + 0x14]
sbb eax, edx
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x84]
push eax
call fcn.0049f230
add esp, 4
cmp dword [ebp - 0x194], 0
jne 0x4ad62c
jmp 0x4ad65b
cmp dword [ebp - 0x190], 0
jne 0x4ad63c
jmp 0x4aefd1
push fcn.00486260
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.0049e7f0
add esp, 0x14
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004a3310
add esp, 8
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4ad6ca
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b9680
add esp, 4
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4ad6ca
jmp 0x4aefd1
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004af980
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0xe0], 0
je 0x4ad700
jmp 0x4af041
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x4ad73e
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004afab0
add esp, 8
test eax, eax
jne 0x4ad75b
mov eax, dword [ebp - 0x84]
push eax
call fcn.0049f230
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4ad77e
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x78]
push eax
call fcn.004a4720
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4ad7e5
mov eax, dword [ebp - 0x84]
push eax
call fcn.004b9680
add esp, 4
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x4ad7e5
jmp 0x4aefd1
cmp dword [ebp - 0x1a0], 0
je 0x4ad85a
cmp dword [ebp - 0x1a0], 0
jl 0x4ad808
mov eax, dword [ebp - 0x1a0]
and eax, 0xf
mov dword [ebp - 0x304], eax
jmp 0x4ad812
mov dword [ebp - 0x304], 0xff
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ecx + 0x10]
push eax
movzx ecx, byte [ebp - 0x304]
push ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx + 0x10]
push eax
call fcn.004aff70
add esp, 0x10
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x4ad85a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
cmp dword [ebp - 0x1a0], 0
jl 0x4ad883
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 0x10]
push edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004af980
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4ad90a
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x18c], ecx
jmp 0x4ad8e0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], 0
je 0x4ad8fc
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x28]
cmp ecx, dword [ebp - 0x184]
je 0x4ad8fc
jmp 0x4ad8d1
cmp dword [ebp - 0x18c], 0
je 0x4ad90a
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 0xb0]
cmp edx, dword [ecx + 0x70]
jl 0x4ad93f
mov dword [ebp - 0x30], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x198]
movzx ecx, word [eax + 0x1c]
and ecx, 0x40
jne 0x4adb15
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x188]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0xc]
lea eax, [eax + edx*4 + 0x48]
mov ecx, dword [ebp - 0x188]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.0048ebc0
add esp, 8
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
jne 0x4ad9b6
jmp 0x4aefd1
mov eax, dword [ebp - 0x198]
push eax
call fcn.0049ef40
add esp, 4
mov eax, 0x40
mov ecx, dword [ebp - 0x198]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x18c]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x32]
mov word [eax + 0x24], dx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x2c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x18c]
lea eax, [edx + ecx + 0x48]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x18c]
add eax, 0x48
mov dword [ebp - 0x194], eax
jmp 0x4adae9
mov eax, dword [ebp - 0x194]
add eax, 0x28
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x190]
je 0x4adb13
mov eax, 0x80
mov ecx, dword [ebp - 0x194]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
jmp 0x4adada
jmp 0x4adb24
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
mov dword [eax + 0x40], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18c]
mov dword [eax + 0xa8], ecx
mov eax, dword [ebp - 0x18c]
add eax, 0x20
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x78]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18c]
mov dx, word [ecx + 0x30]
mov word [eax + 0x32], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov edx, dword [ebp + 8]
mov dword [edx + 0x44], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x32]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
lea ecx, [eax + ecx*4]
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0xbc], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1c], edx
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
push ecx
push 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc0]
push eax
call fcn.00453ec0
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 4]
add edx, dword [eax + ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x1a0]
add edx, dword [eax + 0x10]
mov dword [ebp - 0x19c], edx
push 0x1000
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004b9830
add esp, 0xc
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
je 0x4adcee
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx + 0x1f0]
mov ecx, dword [ecx + 0x1f4]
adc ecx, edx
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x1f0], eax
mov dword [edx + 0x1f4], ecx
jmp 0x4add15
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x90]
mov ecx, dword [ecx + 0x94]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x90], eax
mov dword [edx + 0x94], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
je 0x4add54
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x304]
mov eax, dword [ecx + 0x1f0]
or eax, dword [edx + 0x1f4]
jne 0x4add52
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x4add83
mov eax, dword [ebp + 8]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x304]
mov eax, dword [ecx + 0x90]
or eax, dword [edx + 0x94]
jne 0x4add83
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
je 0x4adddc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x19c], ecx
jmp 0x4addb4
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0x44], 0
je 0x4addc2
jmp 0x4adda5
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x19c]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x1a0], ecx
jmp 0x4addee
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
push eax
call fcn.004b94f0
add esp, 4
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], ecx
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x308]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [eax + 0x14]
jg 0x4ade78
jl 0x4ade60
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x308]
mov ecx, dword [edx + 0x10]
cmp ecx, dword [eax + 0x10]
jae 0x4ade78
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x14], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
cmp dword [ecx + 0x14], 0
jl 0x4adec1
jg 0x4adeb5
mov edx, dword [ebp - 0x304]
cmp dword [edx + 0x10], 0
jbe 0x4adec1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
cmp dword [ecx + 0x14], 0
jg 0x4adf0a
jl 0x4adefe
mov edx, dword [ebp - 0x304]
cmp dword [edx + 0x10], 0
jae 0x4adf0a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0x84]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x84]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x304]
mov eax, dword [ecx + 0x10]
or eax, dword [edx + 0x14]
jne 0x4adf6e
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x19c], 0
jmp 0x4adfc8
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x194]
add ecx, 0x28
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a0]
jge 0x4adffc
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x194]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x194]
push eax
call fcn.004a7410
add esp, 4
jmp 0x4adfaa
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0x198]
mov dword [edx + 0x18], ecx
mov eax, 1
mov word [ebp - 0x16c], ax
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x190]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x4ae09d
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x158], ecx
mov esi, esp
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
cmp esi, esp
call fcn.00504bf9
cmp dword [ebp - 0x15c], 0
je 0x4ae103
lea eax, [ebp - 0x188]
push eax
call fcn.004a4390
add esp, 4
push eax
push 0x514cd4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x188]
push eax
call fcn.0049ef40
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.0049f140
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ae170
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004a4390
add esp, 4
push eax
push 0x514cd4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.004a3310
add esp, 8
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b97c0
add esp, 4
test eax, eax
je 0x4ae19c
jmp 0x4aefad
jmp case.0x4a77f2.16
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x194], 0xffffffff
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00501760
add esp, 0x14
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 5
jne 0x4ae203
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x19c], 1
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x190], ecx
jmp 0x4ae23f
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x190]
add ecx, 0x28
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x1a0], 3
jge 0x4ae269
mov eax, dword [ebp - 0x1a0]
mov eax, dword [ebp + eax*4 - 0x19c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x190]
push ecx
call fcn.004a4720
add esp, 0xc
jmp 0x4ae221
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.0048e720
add esp, 4
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00495710
add esp, 4
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x198], 0xffffffff
jne 0x4ae2d2
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b0370
add esp, 4
test eax, eax
jne 0x4ae2f1
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004a2730
add esp, 4
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x198], 5
jne 0x4ae341
mov eax, dword [ebp - 0x190]
push eax
call fcn.00488bd0
add esp, 4
test eax, eax
je 0x4ae335
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004999b0
add esp, 4
test eax, eax
jne 0x4ae341
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x194]
je 0x4ae447
cmp dword [ebp - 0x194], 5
je 0x4ae369
cmp dword [ebp - 0x198], 5
jne 0x4ae447
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4ae380
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x8c], 1
jle 0x4ae3cc
mov dword [ebp - 0x30], 1
cmp dword [ebp - 0x198], 5
jne 0x4ae39c
mov dword [ebp - 0x304], str.into
jmp 0x4ae3a6
mov dword [ebp - 0x304], str.out_of
mov eax, dword [ebp - 0x304]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
jmp case.0x4a77f2.16
cmp dword [ebp - 0x194], 5
jne 0x4ae405
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b03e0
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4ae403
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004b0200
add esp, 8
jmp 0x4ae41f
cmp dword [ebp - 0x194], 4
jne 0x4ae41f
push 2
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004b0200
add esp, 8
cmp dword [ebp - 0x30], 0
jne 0x4ae447
xor eax, eax
cmp dword [ebp - 0x198], 5
sete al
add eax, 1
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.0049d2d0
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4ae459
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004b0200
add esp, 8
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa8], ecx
mov eax, 0xa02
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x198]
push eax
call fcn.004c5980
add esp, 4
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
push ecx
call fcn.00488bd0
add esp, 4
mov edx, dword [ebp - 0xa8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x1f], 1
movzx eax, byte [ebp - 0x51]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004a3310
add esp, 8
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004c8350
add esp, 8
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004b1950
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x65
jne 0x4ae54b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x30], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
jne 0x4ae567
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004bb030
add esp, 4
jmp 0x4ae56e
mov eax, dword [ebp + 8]
mov byte [eax + 0x63], 1
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x1f1], cl
movzx eax, byte [ebp - 0x1f1]
test eax, eax
jne 0x4ae598
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xc]
and ecx, 0x80000
jne 0x4ae60a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x200], ecx
movzx eax, byte [ebp - 0x1f1]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004b92b0
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
and eax, 0xff
cmp eax, 6
jne 0x4ae60a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x20c], ecx
mov eax, dword [ebp - 0x20c]
push eax
push str.database_table_is_locked:__s
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c9fa0
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x1a0], 0
je 0x4ae650
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004bb9b0
add esp, 8
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004c9340
add esp, 0x10
mov dword [ebp - 0x30], eax
jmp case.0x4a77f2.16
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c9c70
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 0
jmp case.0x4a77f2.16
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
mov dword [ebp - 0x194], ecx
mov esi, esp
lea eax, [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 0x194]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
cmp dword [ebp - 0x30], 0
jne 0x4ae79f
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x198]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004bb730
add esp, 0x14
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
je 0x4ae77a
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ecx]
mov dword [edx + 0x28], eax
jmp 0x4ae79f
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1e], 1
mov esi, esp
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
cmp esi, esp
call fcn.00504bf9
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x194]
add eax, 0x28
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x180], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x17c], 0
jmp 0x4ae854
mov eax, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x1a0]
jge 0x4ae89d
mov eax, dword [ebp - 0x17c]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004a7410
add esp, 4
jmp 0x4ae845
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 1
mov esi, esp
mov eax, dword [ebp - 0x178]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 0
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
cmp dword [ebp - 0x30], 0
jne 0x4ae925
mov esi, esp
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
je 0x4ae93a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x184]
mov byte [eax + 0x1c], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x218]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4ae992
mov eax, dword [ebp - 0x198]
push eax
call fcn.0049f230
add esp, 4
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
push 0x40
push 0
lea eax, [ebp - 0x190]
push eax
call fcn.00453ec0
add esp, 0xc
mov eax, dword [ebp - 0x198]
push eax
lea ecx, [ebp - 0x188]
push ecx
call fcn.004a7220
add esp, 8
movzx eax, word [ebp - 0x16c]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x16c], ax
mov esi, esp
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
cmp dword [ebp - 0x15c], 0
je 0x4aea47
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 0x51]
push eax
lea ecx, [ebp - 0x188]
push ecx
call fcn.004a3310
add esp, 8
lea eax, [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.004a7220
add esp, 8
mov eax, dword [ebp - 0x198]
push eax
call fcn.004b97c0
add esp, 4
test eax, eax
je 0x4aea89
jmp 0x4aefad
jmp case.0x4a77f2.16
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x194]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4aeac0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 1
mov esi, esp
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 0
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
cmp dword [ebp - 0x30], 0
jne 0x4aeb51
mov esi, esp
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jne 0x4aeb66
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x19c], ecx
push 1
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004a3310
add esp, 8
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4aebed
mov esi, esp
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x1a0]
push edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
mov eax, dword [ebp + 8]
mov byte [eax + 0x63], 0
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0x34], 0
je 0x4aedbb
mov eax, dword [ebp - 0x3c]
mov cl, byte [eax + 0x22]
mov byte [ebp - 0x221], cl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x194], 0
jmp 0x4aec70
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
jge 0x4aecb3
mov eax, dword [ebp - 0x184]
push eax
call fcn.004a7410
add esp, 4
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x184]
add eax, 0x28
mov dword [ebp - 0x184], eax
jmp 0x4aec61
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx + 3]
mov byte [eax + 0x22], dl
mov esi, esp
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x188]
push ecx
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
cmp esi, esp
call fcn.00504bf9
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x221]
mov byte [eax + 0x22], cl
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb9b0
add esp, 8
cmp dword [ebp - 0x30], 0
jne 0x4aed50
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
je 0x4aed50
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x34], ecx
cmp dword [ebp - 0x30], 0x13
jne 0x4aedac
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x4aedac
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
cmp ecx, 4
jne 0x4aed79
mov dword [ebp - 0x30], 0
jmp 0x4aedaa
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
cmp ecx, 5
jne 0x4aed91
mov dword [ebp - 0x304], 2
jmp 0x4aed9e
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x304]
mov byte [ecx + 0x60], dl
jmp 0x4aedbb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00498190
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0
je 0x4aee4a
mov eax, dword [ebp - 0x23c]
push eax
call fcn.00498190
add esp, 4
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x230]
cmp ecx, dword [eax + 0xc]
jae 0x4aee4a
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.004b18a0
add esp, 8
cdq
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4a77f2.16
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x98], 0
je case.0x4a77f2.16
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4aee99
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x304], edx
jmp 0x4aeea8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 0
je case.0x4a77f2.16
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bb080
add esp, 8
mov dword [ebp - 0x19c], eax
mov esi, esp
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x9c]
push edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x98]
call ecx
add esp, 8
cmp esi, esp
call fcn.00504bf9
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00486320
add esp, 8
jmp 0x4a76e4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push str.statement_aborts_at__d:___s___s
mov edx, dword [ebp - 0x30]
push edx
call fcn.00488750
add esp, 0x14
mov eax, dword [ebp + 8]
push eax
call fcn.0049fd10
add esp, 4
cmp dword [ebp - 0x30], 0xc0a
jne 0x4aef61
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1e], 1
mov dword [ebp - 0x30], 1
movzx eax, byte [ebp - 0x45]
test eax, eax
jle 0x4aef84
movzx eax, byte [ebp - 0x45]
sub eax, 1
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.004c1390
add esp, 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
push eax
call fcn.004a0270
add esp, 4
mov eax, dword [ebp - 0x30]
jmp 0x4af07b
push str.string_or_blob_too_big
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 0x12
jmp 0x4aef16
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x1e], 1
push 0x519984
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004a2bf0
add esp, 0xc
mov dword [ebp - 0x30], 7
jmp 0x4aef16
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4af00e
mov dword [ebp - 0x30], 7
cmp dword [ebp - 0x30], 0xc0a
je 0x4af03c
mov eax, dword [ebp - 0x30]
push eax
call fcn.005008b0
add esp, 4
push eax
push 0x514cd4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
jmp 0x4aef16
mov dword [ebp - 0x30], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0x30]
push eax
call fcn.005008b0
add esp, 4
push eax
push 0x514cd4
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004a2bf0
add esp, 0x10
jmp 0x4aef16
push edx
mov ecx, ebp
push eax
lea edx, [0x4af0ac]
call fcn.00504c1c
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00453735
add esp, 0x30c
cmp ebp, esp
call fcn.00504bf9
mov esp, ebp
pop ebp
ret