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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x784
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov byte [ebp - 0x1e], 0
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x42]
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 8]
push eax
call fcn.00463c50
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 7
jne 0x4ae00a
jmp 0x4b5d4d
mov edx, dword [ebp + 8]
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x184], 0
mov edx, dword [ebp - 4]
cmp dword [edx + 0xf8], 0
je 0x4ae043
jmp 0x4b5d76
mov eax, dword [ebp - 4]
cmp dword [eax + 0x130], 0
je 0x4ae077
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
xor edx, edx
div dword [ecx + 0x138]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x138]
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp 0x4ae091
mov ecx, dword [ebp - 0x28]
add ecx, 0x14
mov dword [ebp - 0x28], ecx
mov edx, 1
test edx, edx
je 0x4b5c37
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 0xa2
ja case.0x4ae0c9.96
mov eax, dword [ebp - 0x65c]
jmp dword [eax*4 + 0x4b5dbc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf8], 0
je 0x4ae0f3
jmp 0x4b5d76
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x130], 0
je 0x4ae14e
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jb 0x4ae14e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax + 0x138]
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
xor edx, edx
div dword [esi + 0x138]
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x134]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x130]
call edx
add esp, 4
test eax, eax
je 0x4ae14e
mov dword [ebp - 8], 9
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, 4
mov eax, dword [ebp - 0x30]
mov word [eax + 8], dx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
push 0
push 0x14
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.004b95c0
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, 0x80
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
sub eax, 1
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 0
je 0x4ae210
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
push 0
push 0x14
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
call fcn.004b95c0
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, 0x80
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, 4
mov edx, dword [ebp - 0x30]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x40]
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 1
jne case.0x4ae0c9.55
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x28]
cmp dword [edx + 4], 0
jne 0x4ae38d
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb8], 0
je 0x4ae38d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 4]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00462c00
add esp, 8
mov eax, dword [ebp - 0x44]
push eax
call fcn.00467430
add esp, 4
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 4
jne 0x4ae36a
mov edx, dword [ebp - 0x48]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov edx, dword [ecx + edx + 8]
sub edx, 1
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x48]
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
jmp case.0x4ae0c9.96
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 8]
mov byte [edx + 0x8e], cl
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 0
je 0x4ae45a
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
test eax, eax
je 0x4ae419
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
mov eax, dword [edx*4 + 0x4c2868]
push eax
push str._s_constraint_failed
mov ecx, dword [ebp + 8]
push ecx
call fcn.004650b0
add esp, 0xc
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x10], 0
je 0x4ae417
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
push str._z:__s
mov ecx, dword [ebp - 4]
push ecx
call fcn.00462b00
add esp, 0x10
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], eax
jmp 0x4ae431
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
push 0x4d09a0
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
push str.abort_at__d_in___s_:__s
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
call fcn.00462a80
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00467bf0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x4ae47b
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], 5
jmp 0x4ae48e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff9c
add ecx, 0x65
mov dword [ebp - 8], ecx
jmp 0x4b5d07
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 8
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
fld qword [edx]
fstp qword [eax]
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov byte [eax], 0x3a
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
call fcn.0049fd00
add esp, 4
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0x1d]
cmp edx, 1
je 0x4ae5e3
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004745a0
add esp, 0x14
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474a40
add esp, 8
test eax, eax
je 0x4ae587
jmp 0x4b5d4d
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
or ecx, 0x800
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4ae5c4
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8e40
add esp, 8
mov edx, dword [ebp - 0x28]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x60]
jle case.0x4ae0c9.58
jmp 0x4b5d30
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 0xa02
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
jle 0x4ae698
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 2]
cdq
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], edx
mov edx, dword [ebp - 0x660]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x668]
jne 0x4ae698
mov ecx, dword [ebp - 0x660]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp - 0x664]
jne 0x4ae698
mov eax, 0xa10
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
sub eax, dword [edx + 8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
neg edx
sbb edx, edx
and edx, 0x100
add edx, 1
mov word [ebp - 0x50], dx
mov eax, dword [ebp - 0x14]
mov cx, word [ebp - 0x50]
mov word [eax + 8], cx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], 0
cmp dword [ebp - 0x4c], 0
jle 0x4ae726
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00473ff0
add esp, 4
mov edx, dword [ebp - 0x14]
mov ax, word [ebp - 0x50]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
jmp 0x4ae6eb
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffffff60
or eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
push 0
push 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004745a0
add esp, 0x14
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x1d]
mov byte [eax + 0xa], cl
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
sub eax, 1
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x74]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
push edx
call fcn.00473a60
add esp, 4
test eax, eax
je 0x4ae7be
jmp 0x4b5d30
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
push 0x800
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00474210
add esp, 0xc
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x60]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x5c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004747f0
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x4ae84d
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474440
add esp, 4
test eax, eax
je 0x4ae84d
jmp 0x4b5d4d
mov edx, dword [ebp - 0x30]
add edx, 0x28
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
jne 0x4ae81a
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, 1
test edx, edx
je 0x4ae8fd
push 0x1000
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474210
add esp, 0xc
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x4ae8d7
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474440
add esp, 4
test eax, eax
je 0x4ae8d7
jmp 0x4b5d4d
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
sub eax, 1
mov dword [ebp - 0x64], eax
test edx, edx
jne 0x4ae8e9
jmp 0x4ae8fd
mov ecx, dword [ebp - 0x14]
add ecx, 0x28
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x30]
add edx, 0x28
mov dword [ebp - 0x30], edx
jmp 0x4ae896
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
push 0x1000
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00474210
add esp, 0xc
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474970
add esp, 0xc
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 4]
cmp dword [edx + 0x130], 0
je 0x4ae9af
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jb 0x4ae9af
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x134]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x130]
call ecx
add esp, 4
test eax, eax
je 0x4ae9af
mov dword [ebp - 8], 9
jmp 0x4b5c37
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00465100
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4ae9cb
jmp 0x4b5c37
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00466f40
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], 0
jmp 0x4aea1b
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ecx + 8]
jge 0x4aea6b
mov eax, dword [ebp - 0x6c]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x68]
movzx edx, word [ecx + eax + 8]
and edx, 0x1000
je 0x4aea57
mov eax, dword [ebp - 0x6c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x68]
push eax
call fcn.00474440
add esp, 4
test eax, eax
je 0x4aea57
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x6c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x68]
push ecx
call fcn.00474a10
add esp, 4
jmp 0x4aea12
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x45]
test eax, eax
je 0x4aea7b
jmp 0x4b5d4d
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x4c]
and edx, 4
je 0x4aeaa7
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbc]
push edx
push 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb8]
call ecx
add esp, 0x10
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
add eax, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov dword [ebp - 8], 0x64
jmp 0x4b5d07
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x4aeb1d
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x4aeb3f
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004743b0
add esp, 4
mov dword [ebp - 0x66c], eax
jmp 0x4aeb49
mov dword [ebp - 0x66c], 0
cmp dword [ebp - 0x66c], 0
jne 0x4aeb87
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x4aeb74
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004743b0
add esp, 4
mov dword [ebp - 0x670], eax
jmp 0x4aeb7e
mov dword [ebp - 0x670], 0
cmp dword [ebp - 0x670], 0
je 0x4aeb8c
jmp 0x4b5d4d
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x12
jne 0x4aebb4
push 0
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00474ab0
add esp, 0xc
test eax, eax
je 0x4aebb4
jmp 0x4b5d4d
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 8]
and ecx, 0x12
jne 0x4aebdc
push 0
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00474ab0
add esp, 0xc
test eax, eax
je 0x4aebdc
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0x1c]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
cdq
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], edx
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x674]
jl 0x4aec1f
jg 0x4aec1a
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x678]
jbe 0x4aec1f
jmp 0x4b5d30
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, dword [ebp - 0x1c]
sete cl
push ecx
mov edx, dword [ebp - 0x78]
add edx, 2
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00474080
add esp, 0xc
test eax, eax
je 0x4aec47
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 2
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
je 0x4aec83
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx + 0xc]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x78]
add eax, 1
mov ecx, dword [ebp - 0x74]
adc ecx, 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x10]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
or eax, 0x200
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.004adc70
add esp, 4
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004adc70
add esp, 4
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 8]
or eax, edx
mov word [ebp - 0x7c], ax
movzx eax, word [ebp - 0xa0]
movzx ecx, word [ebp - 0x9c]
and eax, ecx
and eax, 4
je 0x4aef5a
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0x88], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ebp - 0x98], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x94], ecx
mov byte [ebp - 0xa1], 1
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x67c]
sub ecx, 0x58
mov dword [ebp - 0x67c], ecx
cmp dword [ebp - 0x67c], 3
ja case.default.0x4aedd0
mov edx, dword [ebp - 0x67c]
jmp dword [edx*4 + 0x4b6048]
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0049eb50
add esp, 0xc
test eax, eax
je 0x4aedfd
jmp 0x4aef74
jmp 0x4aef2a
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0049fe40
add esp, 0xc
test eax, eax
je 0x4aee28
jmp 0x4aef74
jmp 0x4aef2a
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0049e9a0
add esp, 0xc
test eax, eax
je 0x4aee53
jmp 0x4aef74
jmp 0x4aef2a
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x4aee6b
jmp 0x4af144
mov ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
jne 0x4aee96
cmp dword [ebp - 0x98], 0
jne 0x4aee96
cmp dword [ebp - 0x94], 0x80000000
jne 0x4aee96
jmp 0x4aef74
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.004b9780
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x4aef2a
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x4aeed8
jmp 0x4af144
mov ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
jne 0x4aeefd
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.004b96c0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x94]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp 0x4af13f
movzx eax, word [ebp - 0x7c]
and eax, 1
je 0x4aef6d
jmp 0x4af144
mov byte [ebp - 0xa1], 0
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00473bf0
add esp, 4
fstp qword [ebp - 0x90]
mov edx, dword [ebp - 0x1c]
push edx
call fcn.00473bf0
add esp, 4
fstp qword [ebp - 0xb0]
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x680]
sub edx, 0x58
mov dword [ebp - 0x680], edx
cmp dword [ebp - 0x680], 3
ja case.default.0x4aefc2
mov eax, dword [ebp - 0x680]
jmp dword [eax*4 + 0x4b6058]
fld qword [ebp - 0xb0]
fadd qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4af0d8
fld qword [ebp - 0xb0]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4af0d8
fld qword [ebp - 0xb0]
fmul qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4af0d8
fldz
fcomp qword [ebp - 0x90]
fnstsw ax
test ah, 0x44
jp 0x4af022
jmp 0x4af144
fld qword [ebp - 0xb0]
fdiv qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4af0d8
fld qword [ebp - 0x90]
call fcn.004b9636
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fld qword [ebp - 0xb0]
call fcn.004b9636
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp - 0x88]
or ecx, dword [ebp - 0x84]
jne 0x4af07a
jmp 0x4af144
mov edx, dword [ebp - 0x88]
and edx, dword [ebp - 0x84]
cmp edx, 0xffffffff
jne 0x4af09f
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x98]
push eax
call fcn.004b96c0
mov dword [ebp - 0x688], eax
mov dword [ebp - 0x684], edx
fild qword [ebp - 0x688]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call fcn.0049fd50
add esp, 8
test eax, eax
je 0x4af0f2
jmp 0x4af144
mov ecx, dword [ebp - 0x14]
fld qword [ebp - 0xb0]
fstp qword [ecx]
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 8
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
movzx edx, word [ebp - 0xa0]
movzx eax, word [ebp - 0x9c]
or edx, eax
and edx, 8
jne 0x4af13f
movsx ecx, byte [ebp - 0xa1]
test ecx, ecx
jne 0x4af13f
mov edx, dword [ebp - 0x14]
push edx
call fcn.00473b30
add esp, 4
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x14]
push eax
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 4], 0
je 0x4af177
push 0
push 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.00474970
add esp, 0xc
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
lea ecx, [eax*4 + 0x1c]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 4]
push eax
call fcn.004a8ff0
add esp, 0xc
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x4af1ba
jmp 0x4b5d4d
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], 0
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xb4]
mov al, byte [ebp - 0xb8]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 1], 0xf0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x28]
mov byte [ecx], 0x48
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x14]
je 0x4af2a4
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x14]
mov dword [edx], eax
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp 0x4af277
mov eax, dword [ebp - 0xc0]
sub eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jl 0x4af2a4
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0xc0]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + eax*4 + 0x1c], edx
jmp 0x4af268
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0xbc]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xbc]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 0x1a]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x4af366
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x14], 0
je 0x4af335
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a35c0
add esp, 4
push eax
push 0x4d09bc
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 0xc
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
add eax, 0xcc
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00463d30
add esp, 0x10
cmp dword [ebp - 8], 0
je 0x4af366
jmp 0x4b5c37
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x12
je 0x4af398
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00474a40
add esp, 8
mov eax, dword [ebp - 0x14]
push eax
call fcn.00473a60
add esp, 4
test eax, eax
je 0x4af398
jmp 0x4b5d30
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 8]
or edx, ecx
and edx, 1
je 0x4af3f0
mov edx, dword [ebp - 0x14]
push edx
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00473d50
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00473d50
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0x28]
mov al, byte [edx]
mov byte [ebp - 0xd9], al
movzx ecx, byte [ebp - 0xd9]
cmp ecx, 0x54
jne 0x4af460
mov edx, dword [ebp - 0xc8]
and edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc4]
and eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], eax
jmp 0x4af667
movzx ecx, byte [ebp - 0xd9]
cmp ecx, 0x55
jne 0x4af495
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc4]
or eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], eax
jmp 0x4af667
mov ecx, dword [ebp - 0xd0]
or ecx, dword [ebp - 0xcc]
je 0x4af667
cmp dword [ebp - 0xcc], 0
jg 0x4af534
jl 0x4af4bf
cmp dword [ebp - 0xd0], 0
jae 0x4af534
movzx edx, byte [ebp - 0xd9]
mov eax, 0xad
sub eax, edx
mov byte [ebp - 0xd9], al
cmp dword [ebp - 0xcc], 0xffffffff
jl 0x4af508
jg 0x4af4e7
cmp dword [ebp - 0xd0], 0xffffffc0
jbe 0x4af508
mov ecx, dword [ebp - 0xd0]
neg ecx
mov edx, dword [ebp - 0xcc]
adc edx, 0
neg edx
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x68c], edx
jmp 0x4af51c
mov dword [ebp - 0x690], 0x40
mov dword [ebp - 0x68c], 0
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
jl 0x4af596
jg 0x4af548
cmp dword [ebp - 0xd0], 0x40
jb 0x4af596
cmp dword [ebp - 0xc4], 0
jg 0x4af574
jl 0x4af55c
cmp dword [ebp - 0xc8], 0
jae 0x4af574
movzx edx, byte [ebp - 0xd9]
cmp edx, 0x56
je 0x4af574
mov dword [ebp - 0x694], 0xffffffff
jmp 0x4af57e
mov dword [ebp - 0x694], 0
mov eax, dword [ebp - 0x694]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x4af667
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd4], ecx
movzx edx, byte [ebp - 0xd9]
cmp edx, 0x56
jne 0x4af5df
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
call fcn.004b9590
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x4af64f
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
call fcn.004b9830
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xc4], 0
jg 0x4af64f
jl 0x4af616
cmp dword [ebp - 0xc8], 0
jae 0x4af64f
mov ecx, 0x40
sub ecx, dword [ebp - 0xd0]
mov eax, 0
sbb eax, dword [ebp - 0xcc]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004b9590
or eax, dword [ebp - 0xd8]
or edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00473dc0
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 4
jne 0x4af726
movzx ecx, byte [ebp - 0x1d]
push ecx
push 0x43
mov edx, dword [ebp - 0x30]
push edx
call fcn.004add70
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 4
jne 0x4af726
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
jne 0x4af721
mov dword [ebp - 8], 0x14
jmp 0x4b5c37
jmp 0x4ae185
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x30]
mov word [edx + 8], cx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 4
je 0x4af769
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00473d20
add esp, 4
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x4af7a0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004743b0
add esp, 4
mov dword [ebp - 0x698], eax
jmp 0x4af7aa
mov dword [ebp - 0x698], 0
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 8]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00474d30
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x4af7d7
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x30]
mov dx, word [ecx + 8]
mov word [ebp - 0xe8], dx
mov eax, dword [ebp - 0xc]
mov cx, word [eax + 8]
mov word [ebp - 0xec], cx
movzx edx, word [ebp - 0xe8]
movzx eax, word [ebp - 0xec]
or edx, eax
and edx, 1
je 0x4af8d0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x80
je 0x4af87a
movzx eax, word [ebp - 0xe8]
movzx ecx, word [ebp - 0xec]
and eax, ecx
and eax, 1
je 0x4af86e
movzx edx, word [ebp - 0xec]
and edx, 0x100
jne 0x4af86e
mov dword [ebp - 0xe4], 0
jmp 0x4af878
mov dword [ebp - 0xe4], 1
jmp 0x4af8cb
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x20
je 0x4af8b5
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], 1
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 1
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
jmp 0x4af8c6
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x10
je 0x4af8c6
jmp 0x4ae185
jmp case.0x4ae0c9.96
jmp 0x4afad4
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x47
mov byte [ebp - 0xda], cl
movsx edx, byte [ebp - 0xda]
cmp edx, 0x43
jl 0x4afa0c
movzx eax, word [ebp - 0xe8]
movzx ecx, word [ebp - 0xec]
or eax, ecx
and eax, 2
je 0x4af94d
movzx edx, word [ebp - 0xe8]
and edx, 0xe
cmp edx, 2
jne 0x4af930
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004adbc0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dx, word [ecx + 8]
mov word [ebp - 0xec], dx
movzx eax, word [ebp - 0xec]
and eax, 0xe
cmp eax, 2
jne 0x4af94d
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004adbc0
add esp, 8
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and eax, edx
and eax, 4
je 0x4afa07
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x6a0], ecx
mov edx, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x6a0]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jl 0x4af9af
jg 0x4af9a0
mov edx, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x6a0]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jbe 0x4af9af
mov dword [ebp - 0xe4], 1
jmp 0x4afad4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6a4], edx
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x6a8]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jg 0x4af9f8
jl 0x4af9e9
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x6a8]
mov eax, dword [ecx]
cmp eax, dword [edx]
jae 0x4af9f8
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4afad4
mov dword [ebp - 0xe4], 0
jmp 0x4afad4
jmp 0x4afab7
movsx ecx, byte [ebp - 0xda]
cmp ecx, 0x42
jne 0x4afab7
movzx edx, word [ebp - 0xe8]
and edx, 2
jne 0x4afa6a
movzx eax, word [ebp - 0xe8]
and eax, 0xc
je 0x4afa6a
push 1
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00474ab0
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 0xffff7e00
movzx edx, word [ebp - 0xe8]
and edx, 0x81ff
or ecx, edx
mov word [ebp - 0xe8], cx
movzx eax, word [ebp - 0xec]
and eax, 2
jne 0x4afab7
movzx ecx, word [ebp - 0xec]
and ecx, 0xc
je 0x4afab7
push 1
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00474ab0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 0xffff7e00
movzx eax, word [ebp - 0xec]
and eax, 0x81ff
or edx, eax
mov word [ebp - 0xec], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00464ae0
add esp, 0xc
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x6ac]
sub ecx, 0x4d
mov dword [ebp - 0x6ac], ecx
cmp dword [ebp - 0x6ac], 4
ja case.default.0x4afafe
mov edx, dword [ebp - 0x6ac]
jmp dword [edx*4 + 0x4b6068]
xor eax, eax
cmp dword [ebp - 0xe4], 0
sete al
mov dword [ebp - 0xe0], eax
jmp 0x4afb75
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], ecx
jmp 0x4afb75
xor edx, edx
cmp dword [ebp - 0xe4], 0
setl dl
mov dword [ebp - 0xe0], edx
jmp 0x4afb75
xor eax, eax
cmp dword [ebp - 0xe4], 0
setle al
mov dword [ebp - 0xe0], eax
jmp 0x4afb75
xor ecx, ecx
cmp dword [ebp - 0xe4], 0
setg cl
mov dword [ebp - 0xe0], ecx
jmp 0x4afb75
xor edx, edx
cmp dword [ebp - 0xe4], 0
setge dl
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x30]
mov cx, word [ebp - 0xe8]
mov word [eax + 8], cx
mov edx, dword [ebp - 0xc]
mov ax, word [ebp - 0xec]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x20
je 0x4afc16
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x34], edx
xor eax, eax
cmp dword [ebp - 0xe0], 0
setne al
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 8
je 0x4afbee
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x4e
sete dl
cmp edx, dword [ebp - 0xe0]
jne 0x4afbee
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0xe0]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4afc24
cmp dword [ebp - 0xe0], 0
je 0x4afc24
jmp 0x4ae185
jmp case.0x4ae0c9.96
cmp dword [ebp - 0x34], 0
je 0x4afc34
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 1
jne 0x4afc56
mov dword [ebp - 0x108], 0
jmp 0x4afc65
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx - 4]
add edx, 4
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xf4], 0
jmp 0x4afcb0
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xf8]
jge 0x4afd7f
cmp dword [ebp - 0x108], 0
je 0x4afce2
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x6b0], eax
jmp 0x4afcee
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x6b0], ecx
mov edx, dword [ebp - 0x6b0]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + eax*4 + 0x14]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xf4]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x104]
add edx, dword [ebp - 0x100]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x100]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.00464ae0
add esp, 0xc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4afd7a
cmp dword [ebp - 0xf0], 0
je 0x4afd78
mov ecx, dword [ebp - 0x34]
neg ecx
mov dword [ebp - 0x34], ecx
jmp 0x4afd7f
jmp 0x4afca1
jmp case.0x4ae0c9.96
cmp dword [ebp - 0x34], 0
jge 0x4afd9e
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp 0x4afdca
cmp dword [ebp - 0x34], 0
jne 0x4afdb8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
jmp 0x4afdca
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
sub ecx, 1
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
je 0x4afdf6
mov dword [ebp - 0x114], 2
jmp 0x4afe3e
mov eax, dword [ebp - 0x30]
push eax
call fcn.00473d50
add esp, 4
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6b4], edx
mov ecx, dword [ebp - 0x6b8]
or ecx, dword [ebp - 0x6b4]
je 0x4afe28
mov dword [ebp - 0x6bc], 1
jmp 0x4afe32
mov dword [ebp - 0x6bc], 0
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
and eax, 1
je 0x4afe65
mov dword [ebp - 0x118], 2
jmp 0x4afead
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00473d50
add esp, 4
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6c0], edx
mov edx, dword [ebp - 0x6c4]
or edx, dword [ebp - 0x6c0]
je 0x4afe97
mov dword [ebp - 0x6c8], 1
jmp 0x4afea1
mov dword [ebp - 0x6c8], 0
mov eax, dword [ebp - 0x6c8]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x47
jne 0x4afed7
mov eax, dword [ebp - 0x114]
imul eax, eax, 3
mov ecx, dword [ebp - 0x118]
movzx edx, byte [eax + ecx + 0x4c287c]
mov dword [ebp - 0x114], edx
jmp 0x4afef4
mov eax, dword [ebp - 0x114]
imul eax, eax, 3
mov ecx, dword [ebp - 0x118]
movzx edx, byte [eax + ecx + 0x4c2888]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x114], 2
jne 0x4aff24
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp 0x4aff49
mov eax, dword [ebp - 0x114]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00473ff0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x4affdb
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x30]
push edx
call fcn.00473d50
add esp, 4
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6d0]
or eax, dword [ebp - 0x6cc]
jne 0x4affc2
mov dword [ebp - 0x6d4], 1
jmp 0x4affcc
mov dword [ebp - 0x6d4], 0
mov eax, dword [ebp - 0x6d4]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00473ff0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x4b003a
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x30]
push edx
call fcn.00473d50
add esp, 4
not eax
not edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb8], 0
je 0x4b00df
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [eax + 0x58]
mov eax, ecx
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov ecx, dword [ebp - 0x11c]
shr ecx, 3
mov edx, dword [eax + 0x18]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x11c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
je 0x4b009a
jmp 0x4ae185
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x11c]
shr edx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x11c]
and ecx, 7
mov esi, 1
shl esi, cl
movzx ecx, byte [eax + edx]
or ecx, esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov edx, dword [ebp - 0x11c]
shr edx, 3
mov eax, dword [eax + 0x18]
mov byte [edx + eax], cl
jmp 0x4b00f5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x28]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jne 0x4b00f5
jmp 0x4ae185
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 1
je 0x4b0132
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x120], edx
jmp 0x4b018a
mov eax, dword [ebp - 0x30]
push eax
call fcn.00473bf0
add esp, 4
fcomp qword [0x4c74a8]
fnstsw ax
test ah, 0x44
jnp 0x4b0157
mov dword [ebp - 0x6d8], 1
jmp 0x4b0161
mov dword [ebp - 0x6d8], 0
mov ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x16
jne 0x4b018a
xor ecx, ecx
cmp dword [ebp - 0x120], 0
sete cl
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0
je 0x4b0198
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
je 0x4b01bd
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 1
jne 0x4b01e2
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
movzx eax, byte [edx + 2]
test eax, eax
je 0x4b0218
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
call fcn.00473ff0
add esp, 4
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x134]
push ecx
lea edx, [ebp - 0x144]
push edx
call fcn.00466b10
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b0262
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x20]
je 0x4b04ba
mov ecx, dword [ebp - 0x144]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x4b0323
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax]
cmp ecx, 3
jne 0x4b030a
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x28]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x190]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x190]
mov dword [edx + 0x50], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x4c], eax
jmp 0x4b031e
mov ecx, dword [ebp - 0x124]
push ecx
call fcn.00473ff0
add esp, 4
jmp 0x4b0ab2
jmp 0x4b03b5
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.0048a0a0
add esp, 4
mov edx, dword [ebp - 0x144]
mov dword [edx + 0x50], eax
lea eax, [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.00489940
add esp, 8
mov edx, dword [ebp - 0x144]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x50]
cmp ecx, dword [ebp - 0x190]
ja 0x4b038e
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x54], ecx
jmp 0x4b03b5
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x50]
cmp ecx, dword [eax + 0x60]
jbe 0x4b03a6
jmp 0x4b5d30
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x190]
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x4c]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x4b03f5
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x4c]
movzx eax, byte [edx]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x6dc], 1
jmp 0x4b0417
lea ecx, [ebp - 0x13c]
push ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x4c]
push eax
call fcn.0049feb0
add esp, 8
movzx ecx, al
mov dword [ebp - 0x6dc], ecx
movzx edx, byte [ebp - 0x6dc]
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x30], edx
xor ecx, ecx
mov edx, dword [ebp - 0x144]
mov word [edx + 0x3a], cx
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x13c]
jae 0x4b049d
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0x144]
mov dword [ecx + 0x54], 0
cmp dword [ebp - 0x13c], 0x18003
ja 0x4b0486
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [edx + 0x50]
jbe 0x4b049b
push 0xa06
call fcn.004a5f70
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4b5c37
jmp 0x4b04ba
cmp dword [ebp - 0x13c], 0
jbe 0x4b04ba
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x178], edx
jmp 0x4b0580
mov eax, dword [ebp - 0x144]
movzx ecx, word [eax + 0x3a]
cmp ecx, dword [ebp - 0x134]
jg 0x4b0835
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x138]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [eax]
jae 0x4b07da
mov edx, dword [ebp - 0x144]
cmp dword [edx + 0x4c], 0
jne 0x4b0571
xor eax, eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x138]
mov eax, dword [edx]
push eax
push 0
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x28]
push edx
call fcn.004753e0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b0563
jmp 0x4b5c37
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x178], eax
jmp 0x4b0580
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x144]
movzx ecx, word [eax + 0x3a]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + edx*4]
xor edx, edx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x178]
add ecx, dword [eax + 0x30]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x178]
add eax, dword [edx]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x174]
movzx edx, byte [ecx]
mov dword [ebp - 0x17c], edx
cmp dword [ebp - 0x17c], 0x80
jae 0x4b0630
mov eax, dword [ebp - 0x174]
add eax, 1
mov dword [ebp - 0x174], eax
movzx ecx, byte [ebp - 0x17c]
push ecx
call fcn.00462ff0
add esp, 4
movzx eax, al
cdq
add eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
adc ecx, edx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], ecx
jmp 0x4b0680
lea edx, [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x174]
push eax
call fcn.0049feb0
add esp, 8
movzx ecx, al
add ecx, dword [ebp - 0x174]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x17c]
push edx
call fcn.00463000
add esp, 4
xor ecx, ecx
add eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
adc edx, ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x17c]
mov dword [ecx + eax*4 + 0x58], edx
mov eax, dword [ebp - 0x128]
add eax, 1
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
and edx, 0
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x138]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x134]
jg 0x4b06e3
mov ecx, dword [ebp - 0x174]
cmp ecx, dword [ebp - 0x130]
jb 0x4b05d6
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x130]
jb 0x4b0732
mov eax, dword [ebp - 0x174]
cmp eax, dword [ebp - 0x130]
ja 0x4b0767
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x50]
xor eax, eax
mov dword [ebp - 0x6e4], edx
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x188]
cmp ecx, dword [ebp - 0x6e4]
jne 0x4b0767
mov edx, dword [ebp - 0x184]
cmp edx, dword [ebp - 0x6e0]
jne 0x4b0767
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x50]
xor edx, edx
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x6e8], edx
mov eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 0x6e8]
jb 0x4b0797
ja 0x4b0767
mov ecx, dword [ebp - 0x188]
cmp ecx, dword [ebp - 0x6ec]
jbe 0x4b0797
mov edx, dword [ebp - 0x144]
cmp dword [edx + 0x4c], 0
jne 0x4b0782
lea eax, [ebp - 0x170]
push eax
call fcn.00474320
add esp, 4
push 0xa41
call fcn.004a5f70
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4b5c37
mov ecx, dword [ebp - 0x144]
mov dx, word [ebp - 0x128]
mov word [ecx + 0x3a], dx
mov eax, dword [ebp - 0x174]
sub eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x144]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0x144]
cmp dword [edx + 0x4c], 0
jne 0x4b07d8
lea eax, [ebp - 0x170]
push eax
call fcn.00474320
add esp, 4
jmp 0x4b07e4
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x144]
movzx edx, word [ecx + 0x3a]
cmp edx, dword [ebp - 0x134]
jg 0x4b0833
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff9
jne 0x4b081f
push 0x800
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
call fcn.00474210
add esp, 0xc
jmp 0x4b082e
mov edx, dword [ebp - 0x124]
push edx
call fcn.00473ff0
add esp, 4
jmp 0x4b0ab2
jmp 0x4b084b
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + eax*4 + 0x58]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x124]
movzx ecx, word [eax + 8]
and ecx, 0x2460
je 0x4b086c
mov edx, dword [ebp - 0x124]
push edx
call fcn.00473ff0
add esp, 4
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x138]
mov eax, dword [eax + 0x54]
cmp eax, dword [edx + ecx*4 + 4]
jb 0x4b09c2
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x178], edx
cmp dword [ebp - 0x17c], 0xc
jae 0x4b08d4
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x178]
push ecx
call fcn.00463850
add esp, 0xc
jmp 0x4b09bd
mov edx, dword [ebp - 0x17c]
sub edx, 0xc
shr edx, 1
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x124]
mov al, byte [ebp - 0x1d]
mov byte [edx + 0xa], al
mov ecx, dword [ebp - 0x140]
add ecx, 2
mov edx, dword [ebp - 0x124]
cmp dword [edx + 0x18], ecx
jge 0x4b0949
mov eax, 1
mov ecx, dword [ebp - 0x124]
mov word [ecx + 8], ax
push 0
mov edx, dword [ebp - 0x140]
add edx, 2
push edx
mov eax, dword [ebp - 0x124]
push eax
call fcn.00474080
add esp, 0xc
test eax, eax
je 0x4b0947
jmp 0x4b5d4d
jmp 0x4b095b
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x178]
push edx
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax + 0x10]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x140]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x140]
mov byte [ecx + eax + 1], 0
mov edx, dword [ebp - 0x17c]
and edx, 1
mov eax, dword [ebp - 0x124]
mov cx, word [edx*2 + 0x4c2894]
mov word [eax + 8], cx
jmp 0x4b0ab2
mov edx, dword [ebp - 0x124]
mov al, byte [ebp - 0x1d]
mov byte [edx + 0xa], al
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0xc0
je 0x4b0a00
cmp dword [ebp - 0x17c], 0xc
jb 0x4b09f1
mov eax, dword [ebp - 0x17c]
and eax, 1
je 0x4b0a1e
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x80
jne 0x4b0a1e
mov eax, dword [ebp - 0x17c]
push eax
call fcn.00463000
add esp, 4
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jne 0x4b0a3b
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0x17c]
push edx
push 0x4df128
call fcn.00463850
add esp, 0xc
jmp 0x4b0ab2
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x28]
push eax
call fcn.004753e0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b0a79
jmp 0x4b5c37
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00463850
add esp, 0xc
mov edx, dword [ebp - 0x124]
movzx eax, word [edx + 8]
and eax, 0xffffefff
mov ecx, dword [ebp - 0x124]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x194]
mov cl, byte [eax]
mov byte [ebp - 0x6ed], cl
movzx edx, byte [ebp - 0x1d]
push edx
movzx eax, byte [ebp - 0x6ed]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004add70
add esp, 0xc
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x30]
add eax, 0x28
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
test edx, edx
jne 0x4b0ad2
jmp case.0x4ae0c9.96
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1e8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1e8]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x8f]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x1bc], 0
je 0x4b0c38
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1bc]
mov dl, byte [ecx]
mov byte [ebp - 0x6ee], dl
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x6f4], eax
movzx ecx, byte [ebp - 0x1d]
push ecx
movzx edx, byte [ebp - 0x6ee]
push edx
mov eax, dword [ebp - 0x6f4]
push eax
call fcn.004add70
add esp, 0xc
mov ecx, dword [ebp - 0x1c0]
add ecx, 0x28
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x1bc]
add edx, 1
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4b0bd7
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1c0], edx
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x1c4]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.00463030
add esp, 0xc
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x1c0]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x4b0ce6
mov ecx, dword [ebp - 0x1b8]
or ecx, dword [ebp - 0x1b4]
je 0x4b0caf
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.004743b0
add esp, 4
test eax, eax
je 0x4b0cad
jmp 0x4b5d4d
jmp 0x4b0ce6
mov eax, dword [ebp - 0x1c0]
mov eax, dword [eax]
cdq
add eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
adc ecx, edx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1cc]
sub eax, dword [edx]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
xor edx, edx
add ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b4]
adc eax, edx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x198], 0x7f
ja 0x4b0d1d
mov dword [ebp - 0x6f8], 1
jmp 0x4b0d35
mov ecx, dword [ebp - 0x198]
xor edx, edx
push edx
push ecx
call fcn.0049ec90
add esp, 8
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebp - 0x1ac]
add eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1c0]
cmp ecx, dword [ebp - 0x1dc]
jne 0x4b0d57
jmp 0x4b0d73
mov edx, dword [ebp - 0x1c0]
sub edx, 0x28
mov dword [ebp - 0x1c0], edx
mov eax, 1
test eax, eax
jne 0x4b0c44
cmp dword [ebp - 0x1ac], 0x7e
jg 0x4b0d8d
mov ecx, dword [ebp - 0x1ac]
add ecx, 1
mov dword [ebp - 0x1ac], ecx
jmp 0x4b0dde
mov eax, dword [ebp - 0x1ac]
cdq
push edx
push eax
call fcn.0049ec90
add esp, 8
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1ac]
cdq
push edx
push eax
call fcn.0049ec90
add esp, 8
cmp dword [ebp - 0x1a8], eax
jge 0x4b0dde
mov eax, dword [ebp - 0x1ac]
add eax, 1
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
cdq
add eax, dword [ebp - 0x1b8]
adc edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d8]
add ecx, dword [ebp - 0x1a0]
mov esi, dword [ebp - 0x1d4]
adc esi, dword [ebp - 0x19c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x60]
cdq
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x6fc], esi
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x6fc]
cmp eax, dword [ebp - 0x704]
jl 0x4b0e57
jg 0x4b0e52
mov ecx, dword [ebp - 0x700]
cmp ecx, dword [ebp - 0x708]
jbe 0x4b0e57
jmp 0x4b5d30
mov edx, dword [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00474520
add esp, 8
test eax, eax
je 0x4b0e73
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1ac], 0x80
jae 0x4b0ea5
mov eax, dword [ebp - 0x1c8]
mov cl, byte [ebp - 0x1ac]
mov byte [eax], cl
mov dword [ebp - 0x70c], 1
jmp 0x4b0ec3
mov eax, dword [ebp - 0x1ac]
cdq
push edx
push eax
mov edx, dword [ebp - 0x1c8]
push edx
call fcn.0049ffb0
add esp, 0xc
mov dword [ebp - 0x70c], eax
movzx eax, byte [ebp - 0x70c]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 0x80
jae 0x4b0f23
mov edx, dword [ebp - 0x1c8]
add edx, dword [ebp - 0x1a4]
mov al, byte [ebp - 0x198]
mov byte [edx], al
mov dword [ebp - 0x710], 1
jmp 0x4b0f48
mov ecx, dword [ebp - 0x198]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x1c8]
add eax, dword [ebp - 0x1a4]
push eax
call fcn.0049ffb0
add esp, 0xc
mov dword [ebp - 0x710], eax
movzx ecx, byte [ebp - 0x710]
add ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, dword [ebp - 0x1c8]
add ecx, dword [ebp - 0x1e4]
push ecx
call fcn.00462f30
add esp, 0xc
add eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1c0]
add edx, 0x28
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1e0]
jbe 0x4b0ee8
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], ecx
mov eax, 0x10
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x1a0]
or edx, dword [ebp - 0x19c]
je 0x4b0fef
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
or eax, 0x4000
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
lea edx, [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x1f4]
push eax
call fcn.00491bd0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b1044
jmp 0x4b5c37
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1ec]
mov dword [eax + 4], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x204], 0
jne 0x4b11ed
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 0
jle 0x4b10be
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 5
jmp 0x4b11e8
mov eax, dword [ebp - 0x1f8]
push eax
call fcn.0049fd00
add esp, 4
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b4]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x1b0]
push edx
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.0047e810
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b1102
jmp 0x4b5c37
mov edx, dword [ebp - 0x214]
add edx, 0x21
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8ff0
add esp, 0xc
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x4b11e8
mov edx, dword [ebp - 0x210]
add edx, 0x20
mov eax, dword [ebp - 0x210]
mov dword [eax], edx
mov ecx, dword [ebp - 0x214]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x1f8]
push edx
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x43]
test eax, eax
je 0x4b117c
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x43], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x4b], 1
jmp 0x4b1191
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b0], ecx
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1a8]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x210]
mov dword [eax + 0x1a8], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1bc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c0]
mov dword [ecx + 0x10], eax
mov edx, dword [edx + 0x1c4]
mov dword [ecx + 0x14], edx
jmp 0x4b15ca
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1a8]
mov dword [ebp - 0x20c], ecx
jmp 0x4b1217
mov edx, dword [ebp - 0x20c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
je 0x4b124d
mov ecx, dword [ebp - 0x1f8]
push ecx
mov edx, dword [ebp - 0x20c]
mov eax, dword [edx]
push eax
call fcn.0049faf0
add esp, 8
test eax, eax
je 0x4b124d
mov ecx, dword [ebp - 0x208]
add ecx, 1
mov dword [ebp - 0x208], ecx
jmp 0x4b1208
cmp dword [ebp - 0x20c], 0
jne 0x4b127a
mov edx, dword [ebp - 0x1f8]
push edx
push str.no_such_savepoint:__s
mov eax, dword [ebp + 8]
push eax
call fcn.004650b0
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x4b15ca
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 0
jle 0x4b12ac
cmp dword [ebp - 0x204], 1
jne 0x4b12ac
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 5
jmp 0x4b15ca
mov eax, dword [ebp - 0x20c]
cmp dword [eax + 0x18], 0
jne 0x4b12cf
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x4b]
test edx, edx
je 0x4b12cf
mov dword [ebp - 0x714], 1
jmp 0x4b12d9
mov dword [ebp - 0x714], 0
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
je 0x4b1374
cmp dword [ebp - 0x204], 1
jne 0x4b1374
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465100
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b1317
jmp 0x4b5d07
mov edx, dword [ebp - 4]
mov byte [edx + 0x43], 1
mov eax, dword [ebp + 8]
push eax
call fcn.00467bf0
add esp, 4
cmp eax, 5
jne 0x4b135f
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], 0
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x28], edx
jmp 0x4b5d07
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 8], edx
jmp 0x4b14b0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
sub ecx, dword [ebp - 0x208]
sub ecx, 1
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x204], 2
jne 0x4b1413
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 2
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x200], 0
jmp 0x4b13c5
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x200]
cmp eax, dword [edx + 0x14]
jge 0x4b1411
xor ecx, ecx
cmp dword [ebp - 0x21c], 0
sete cl
push ecx
push 0x204
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00492630
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b140f
jmp 0x4b5c37
jmp 0x4b13b6
jmp 0x4b141d
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x200], 0
jmp 0x4b1438
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x200]
cmp edx, dword [ecx + 0x14]
jge 0x4b1480
mov eax, dword [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00493ba0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b147e
jmp 0x4b5c37
jmp 0x4b1429
cmp dword [ebp - 0x21c], 0
je 0x4b14b0
mov eax, dword [ebp - 4]
push eax
call fcn.00462ba0
add esp, 4
mov ecx, dword [ebp - 4]
push ecx
call fcn.00498cf0
add esp, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
or eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1a8]
cmp eax, dword [ebp - 0x20c]
je 0x4b150c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1a8]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8e40
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b0]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b0], eax
jmp 0x4b14b0
cmp dword [ebp - 0x204], 1
jne 0x4b155a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1a8], ecx
mov edx, dword [ebp - 0x20c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004a8e40
add esp, 8
cmp dword [ebp - 0x218], 0
jne 0x4b1558
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b0]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b0], edx
jmp 0x4b1590
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x20c]
mov eax, dword [edx + 8]
mov dword [ecx + 0x1b8], eax
mov edx, dword [edx + 0xc]
mov dword [ecx + 0x1bc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1c0], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x1c4], ecx
cmp dword [ebp - 0x218], 0
je 0x4b15a2
cmp dword [ebp - 0x204], 2
jne 0x4b15ca
mov edx, dword [ebp - 0x208]
push edx
mov eax, dword [ebp - 0x204]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0047e810
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b15ca
jmp 0x4b5c37
cmp dword [ebp - 8], 0
je 0x4b15d5
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x43]
cmp dword [ebp - 0x224], ecx
je 0x4b16fd
cmp dword [ebp - 0x220], 0
je 0x4b1628
push 0x204
mov edx, dword [ebp - 4]
push edx
call fcn.004a6f30
add esp, 8
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], 1
jmp 0x4b1686
cmp dword [ebp - 0x224], 0
je 0x4b165c
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 0
jle 0x4b165c
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 5
jmp 0x4b5c37
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00465100
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b167a
jmp 0x4b5d07
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x224]
mov byte [ecx + 0x43], dl
mov eax, dword [ebp + 8]
push eax
call fcn.00467bf0
add esp, 4
cmp eax, 5
jne 0x4b16d1
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, 1
sub eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x43], al
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
jmp 0x4b5d07
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a5550
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x28], 0
jne 0x4b16ef
mov dword [ebp - 8], 0x65
jmp 0x4b16f6
mov dword [ebp - 8], 1
jmp 0x4b5d07
cmp dword [ebp - 0x224], 0
jne 0x4b1712
mov dword [ebp - 0x718], str.cannot_start_a_transaction_within_a_transaction
jmp 0x4b173d
cmp dword [ebp - 0x220], 0
je 0x4b1727
mov dword [ebp - 0x71c], str.cannot_rollback___no_transaction_is_active
jmp 0x4b1731
mov dword [ebp - 0x71c], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x718]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 1
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
je 0x4b1784
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
and edx, 0x4000000
je 0x4b1784
mov dword [ebp - 8], 8
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0
je 0x4b1911
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.004953d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b17fe
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 5
jne 0x4b17f9
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], ecx
jmp 0x4b5d07
jmp 0x4b5c37
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
je 0x4b18db
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
shr ecx, 6
and ecx, 1
je 0x4b18db
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x43]
test eax, eax
je 0x4b183b
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], 1
jle 0x4b18db
mov edx, dword [ebp + 8]
cmp dword [edx + 0x30], 0
jne 0x4b1871
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b4]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b4], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
sub edx, 1
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.0047e810
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b18ab
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x228]
push eax
call fcn.0048a980
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b8]
mov dword [ecx + 0x48], eax
mov edx, dword [edx + 0x1bc]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c0]
mov dword [eax + 0x50], edx
mov ecx, dword [ecx + 0x1c4]
mov dword [eax + 0x54], ecx
lea edx, [ebp - 0x22c]
push edx
push 1
mov eax, dword [ebp - 0x228]
push eax
call fcn.00489fc0
add esp, 0xc
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x230], eax
jmp 0x4b1927
mov dword [ebp - 0x22c], 0
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
test eax, eax
je 0x4b19c8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ecx + 0xc]
jne 0x4b1952
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x230]
cmp ecx, dword [eax + 0x10]
je 0x4b19c8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8e40
add esp, 8
push 0x4d0b04
mov edx, dword [ebp - 4]
push edx
call fcn.004a91e0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x22c]
je 0x4b19ac
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00498d80
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov dword [ebp - 8], 0x11
cmp dword [ebp - 8], 0
je 0x4b19d3
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x238], edx
lea eax, [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x238]
push ecx
mov edx, dword [ebp - 0x23c]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00489fc0
add esp, 0xc
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x234]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x240], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 4]
push ecx
call fcn.0048aba0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 1
jne 0x4b1aa4
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
or edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], edx
jmp 0x4b1abf
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 2
jne 0x4b1abf
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28]
mov dl, byte [ecx + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 1
jne 0x4b1ae9
mov ecx, dword [ebp - 4]
push ecx
call fcn.00462ba0
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
and eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
cmp dword [ebp - 8], 0
je 0x4b1af4
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je case.0x4ae0c9.106
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x34]
cmp eax, dword [edx + 8]
jne case.0x4ae0c9.106
jmp 0x4b1d2e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
and edx, 1
je 0x4b1b47
mov dword [ebp - 8], 0x204
jmp 0x4b5c37
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x6b
jne 0x4b1be7
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 8
or edx, 4
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x8f]
cmp edx, ecx
jge 0x4b1be5
mov edx, dword [ebp - 0x258]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x4c]
mov byte [ecx + 0x8f], dl
jmp 0x4b1bf1
mov dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x10
je 0x4b1c23
mov edx, dword [ebp - 0x248]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00473dc0
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x4b1c59
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
movzx edx, word [ecx + 6]
mov eax, dword [ebp - 0x250]
movzx ecx, word [eax + 8]
add edx, ecx
mov dword [ebp - 0x260], edx
jmp 0x4b1c71
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff5
jne 0x4b1c71
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x260], edx
push 0
mov eax, dword [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x260]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jne 0x4b1ca8
jmp 0x4b5d4d
mov edx, dword [ebp - 0x24c]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 8]
or ecx, 4
mov edx, dword [ebp - 0x24c]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x248]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x250]
push ecx
mov edx, dword [ebp - 0x254]
push edx
mov eax, dword [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0x244]
push ecx
call fcn.0048af80
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 1]
xor eax, eax
cmp edx, 0xfffffffb
setne al
mov ecx, dword [ebp - 0x24c]
mov byte [ecx + 4], al
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 3
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x28]
push edx
call fcn.004896e0
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b1d56
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x268], ecx
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0x268]
movsx eax, word [edx + 0x38]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x4b1da6
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x264]
mov byte [ecx + 2], 1
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 8]
or eax, 1
mov ecx, dword [ebp - 0x264]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x2c]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x268]
mov cl, byte [eax + 4]
mov byte [edx + 4], cl
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 0x2c]
push edx
push 4
push 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.0048af80
add esp, 0x14
mov dword [ebp - 8], eax
jmp case.0x4ae0c9.96
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
jne 0x4b1e4d
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x26c]
mov byte [ecx + 2], 1
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 8]
or eax, 1
mov ecx, dword [ebp - 0x26c]
mov dword [ecx + 8], eax
mov edx, dword [0x4c2898]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
or ecx, 5
push ecx
mov edx, dword [ebp - 0x26c]
add edx, 0xc
push edx
mov eax, dword [ebp - 4]
push eax
push 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
push edx
call fcn.00494720
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b1ebc
push 1
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.004953d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b1f81
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x270]
mov dword [ecx + 0x2c], edx
cmp dword [ebp - 0x270], 0
je 0x4b1f52
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
or ecx, 2
push ecx
lea edx, [ebp - 0x274]
push edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.00493540
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b1f46
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x270]
push ecx
push 4
mov edx, dword [ebp - 0x274]
push edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.0048af80
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x26c]
mov byte [edx + 4], 0
jmp 0x4b1f81
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0x28]
push ecx
push 0
push 4
push 1
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0xc]
push eax
call fcn.0048af80
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x26c]
mov byte [ecx + 4], 1
cmp dword [ebp - 8], 0
je 0x4b1f8c
jmp 0x4b5c37
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
xor ecx, ecx
cmp eax, 8
setne cl
and ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 8]
and eax, 0xfffffffb
or eax, ecx
mov ecx, dword [ebp - 0x26c]
mov dword [ecx + 8], eax
jmp case.0x4ae0c9.96
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
jne 0x4b1fef
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0x278]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0043e710
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b2026
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x27c]
mov esi, dword [ecx + 0x10]
add esi, 1
mov ecx, dword [ecx + 0x14]
adc ecx, 0
mov edi, dword [ebp - 0x27c]
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], ecx
mov dword [ebp - 0x724], edx
mov dword [ebp - 0x720], eax
mov edx, dword [ebp - 0x724]
or edx, dword [ebp - 0x720]
jne 0x4b2089
jmp 0x4ae185
jmp case.0x4ae0c9.96
push 3
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
jne 0x4b20c0
jmp 0x4b5d4d
mov edx, dword [ebp - 0x280]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x280]
mov byte [eax + 4], 1
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00466f70
add esp, 8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov dword [ecx + edx*4], 0
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x294]
mov byte [eax + 2], 0
mov ecx, dword [ebp - 0x294]
movzx edx, byte [ecx + 4]
test edx, edx
je 0x4b2279
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 0xe
cmp eax, 2
jne 0x4b218f
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004adbc0
add esp, 8
mov edx, dword [ebp - 0xc]
push edx
call fcn.00473d50
add esp, 4
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 4
jne 0x4b2223
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 8
jne 0x4b21c9
jmp 0x4ae185
fild qword [ebp - 0x290]
mov ecx, dword [ebp - 0xc]
fcomp qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x4b21f7
mov edx, dword [ebp - 0x2ac]
and edx, 1
je 0x4b21f5
mov eax, dword [ebp - 0x2ac]
sub eax, 1
mov dword [ebp - 0x2ac], eax
jmp 0x4b2223
fild qword [ebp - 0x290]
mov ecx, dword [ebp - 0xc]
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x4b2223
mov edx, dword [ebp - 0x2ac]
and edx, 1
jne 0x4b2223
mov eax, dword [ebp - 0x2ac]
add eax, 1
mov dword [ebp - 0x2ac], eax
lea ecx, [ebp - 0x284]
push ecx
push 0
mov edx, dword [ebp - 0x28c]
push edx
mov eax, dword [ebp - 0x290]
push eax
push 0
mov ecx, dword [ebp - 0x294]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x290]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0x28c]
mov dword [eax + 0x44], edx
cmp dword [ebp - 8], 0
je 0x4b2274
jmp 0x4b5c37
jmp 0x4b2346
push 2
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00488ea0
add esp, 8
test eax, eax
je 0x4b229b
mov dword [ebp - 0x298], 1
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x294]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x2a8], edx
mov ax, word [ebp - 0x2b0]
mov word [ebp - 0x2a0], ax
mov ecx, dword [ebp - 0x2ac]
sub ecx, 0x18
and ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 1
mov byte [ebp - 0x29e], cl
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2a4], eax
mov byte [ebp - 0x29a], 0
lea ecx, [ebp - 0x284]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x2a8]
push edx
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b232d
jmp 0x4b5c37
cmp dword [ebp - 0x298], 0
je 0x4b2346
movzx edx, byte [ebp - 0x29a]
test edx, edx
jne 0x4b2346
jmp 0x4b2426
mov eax, dword [ebp - 0x294]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x294]
mov dword [ecx + 0x1c], 0
cmp dword [ebp - 0x2ac], 0x1a
jl 0x4b23c0
cmp dword [ebp - 0x284], 0
jl 0x4b2381
cmp dword [ebp - 0x284], 0
jne 0x4b23b4
cmp dword [ebp - 0x2ac], 0x1b
jne 0x4b23b4
mov dword [ebp - 0x284], 0
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00493a90
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b23b2
jmp 0x4b5c37
jmp 0x4b23be
mov dword [ebp - 0x284], 0
jmp 0x4b2426
cmp dword [ebp - 0x284], 0
jg 0x4b23db
cmp dword [ebp - 0x284], 0
jne 0x4b240e
cmp dword [ebp - 0x2ac], 0x18
jne 0x4b240e
mov dword [ebp - 0x284], 0
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00493a10
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b240c
jmp 0x4b5c37
jmp 0x4b2426
mov edx, dword [ebp - 0x294]
mov eax, dword [edx + 0x28]
push eax
call fcn.004892c0
add esp, 4
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4b2436
jmp 0x4ae185
cmp dword [ebp - 0x298], 0
je 0x4b2448
mov ecx, dword [ebp - 0x28]
add ecx, 0x14
mov dword [ebp - 0x28], ecx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x10], 0
jle 0x4b24bb
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x28]
mov cx, word [eax + 0x10]
mov word [ebp - 0x2d4], cx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x2d8], edx
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c0], 0
jmp 0x4b2555
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x4b24de
mov eax, dword [ebp - 0xc]
push eax
call fcn.004743b0
add esp, 4
mov dword [ebp - 0x728], eax
jmp 0x4b24e8
mov dword [ebp - 0x728], 0
mov ecx, dword [ebp - 0x728]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x4b24fc
jmp 0x4b5d4d
mov edx, dword [ebp - 0x2c4]
mov eax, dword [edx + 0x2c]
push eax
call fcn.00463e80
add esp, 4
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c0], ecx
cmp dword [ebp - 0x2cc], 0
jne 0x4b252e
jmp 0x4b5d4d
mov edx, dword [ebp - 0x2cc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ecx + 0x2c]
push edx
call fcn.00463a70
add esp, 0x10
mov eax, dword [ebp - 0x2cc]
mov byte [eax + 0xa], 0
mov dword [ebp - 0x2bc], 0
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x1c
jne 0x4b25cb
mov dword [ebp - 0x2c8], 0
jmp 0x4b258f
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2cc]
movzx edx, word [ecx + 8]
cmp dword [ebp - 0x2c8], edx
jge 0x4b25cb
mov eax, dword [ebp - 0x2c8]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 4]
movzx eax, word [edx + eax + 8]
and eax, 1
je 0x4b25c9
mov dword [ebp - 0x2bc], 1
jmp 0x4b25cb
jmp 0x4b2580
lea ecx, [ebp - 0x2b8]
push ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0x2cc]
push edx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 0x2c0], 0
je 0x4b2610
mov edx, dword [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004a8b10
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b261b
jmp 0x4b5c37
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2b8]
mov dword [ecx + 0x20], edx
xor eax, eax
cmp dword [ebp - 0x2b8], 0
sete al
mov dword [ebp - 0x2b4], eax
mov ecx, 1
sub ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2c4]
mov byte [edx + 2], cl
mov eax, dword [ebp - 0x2c4]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x2c4]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x1e
jne 0x4b2682
cmp dword [ebp - 0x2b4], 0
je 0x4b2680
jmp 0x4ae185
jmp 0x4b2699
cmp dword [ebp - 0x2bc], 0
jne 0x4b2694
cmp dword [ebp - 0x2b4], 0
jne 0x4b2699
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 4
jne case.0x4ae0c9.32
movzx edx, byte [ebp - 0x1d]
push edx
push 0x43
mov eax, dword [ebp - 0xc]
push eax
call fcn.004add70
add esp, 0xc
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 4
jne case.0x4ae0c9.32
jmp 0x4ae185
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2e4], edx
lea eax, [ebp - 0x2e0]
push eax
push 0
mov ecx, dword [ebp - 0x2e4]
push ecx
mov edx, dword [ebp - 0x2e8]
push edx
push 0
mov eax, dword [ebp - 0x2f0]
push eax
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2e8]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x2e4]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0x2ec]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x2ec]
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x2ec]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2e0]
mov dword [ecx + 0x20], edx
cmp dword [ebp - 0x2e0], 0
je 0x4b27ca
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
jne 0x4b27c5
push 0x108c
call fcn.004a5f70
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4b27ca
jmp 0x4ae185
cmp dword [ebp - 8], 0
je 0x4b27d5
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x10]
mov dword [edx], eax
mov ecx, dword [ecx + 0x14]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [eax + 0x14]
adc edx, 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x70]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.0x4ae0c9.96
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x310], ecx
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 8]
shr eax, 1
and eax, 1
jne 0x4b2949
lea ecx, [ebp - 0x2fc]
push ecx
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0x28]
push eax
call fcn.00492540
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b28c0
jmp 0x4b5c37
cmp dword [ebp - 0x2fc], 0
je 0x4b28df
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], 0
jmp 0x4b2949
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0x28]
push edx
call fcn.0048a0c0
add esp, 4
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 0x7fffffff
jl 0x4b292b
jg 0x4b2914
cmp dword [ebp - 0x308], 0xffffffff
jb 0x4b292b
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 8]
or ecx, 2
mov edx, dword [ebp - 0x310]
mov dword [edx + 8], ecx
jmp 0x4b2949
mov eax, dword [ebp - 0x308]
add eax, 1
mov ecx, dword [ebp - 0x304]
adc ecx, 0
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0xc], 0
je 0x4b2a7c
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb8], 0
je 0x4b29aa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
mov dword [ebp - 0x2f4], edx
jmp 0x4b2982
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x2f4]
cmp dword [edx + 4], 0
je 0x4b2990
jmp 0x4b2973
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x2f4]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x2f8], ecx
jmp 0x4b29bc
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.00473dc0
add esp, 4
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
cmp dword [ecx], 0xffffffff
jne 0x4b29f1
mov edx, dword [ebp - 0x72c]
cmp dword [edx + 4], 0x7fffffff
je 0x4b2a01
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 8]
shr ecx, 1
and ecx, 1
je 0x4b2a0d
mov dword [ebp - 8], 0xd
jmp 0x4b5c37
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x304]
cmp edx, dword [ebp - 0x730]
jg 0x4b2a65
jl 0x4b2a48
mov eax, dword [ebp - 0x308]
cmp eax, dword [ebp - 0x734]
jae 0x4b2a65
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x308]
mov dword [ecx], edx
mov eax, dword [ebp - 0x304]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 8]
shr edx, 1
and edx, 1
je 0x4b2b60
mov dword [ebp - 0x30c], 0
lea eax, [ebp - 0x308]
push eax
push 8
call fcn.00480d00
add esp, 8
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x304]
and edx, 0x3fffffff
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x308]
add eax, 1
mov ecx, dword [ebp - 0x304]
adc ecx, 0
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
lea edx, [ebp - 0x2fc]
push edx
push 0
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x308]
push ecx
push 0
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0x28]
push eax
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b2b40
cmp dword [ebp - 0x2fc], 0
jne 0x4b2b40
mov ecx, dword [ebp - 0x30c]
add ecx, 1
mov dword [ebp - 0x30c], ecx
cmp dword [ebp - 0x30c], 0x64
jl 0x4b2a9a
cmp dword [ebp - 8], 0
je 0x4b2b4b
jmp 0x4b5c37
cmp dword [ebp - 0x2fc], 0
jne 0x4b2b60
mov dword [ebp - 8], 0xd
jmp 0x4b5c37
mov edx, dword [ebp - 0x310]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x310]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x308]
mov dword [ecx], edx
mov eax, dword [ebp - 0x304]
mov dword [ecx + 4], eax
jmp case.0x4ae0c9.96
mov dword [ebp - 0x358], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x76
jne 0x4b2bf7
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x354]
mov ecx, dword [eax]
mov dword [ebp - 0x338], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x334], edx
jmp 0x4b2c0a
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], edx
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffff1
jne 0x4b2c66
mov eax, dword [ebp - 4]
cmp dword [eax + 0xdc], 0
je 0x4b2c66
mov ecx, dword [ebp - 0x34c]
movsx edx, byte [ecx + 1]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
mov dword [ebp - 0x358], eax
jmp 0x4b2c7a
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 1
je 0x4b2c95
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x20
je 0x4b2cb6
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x338]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x334]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0x314]
movzx eax, word [edx + 8]
and eax, 1
je 0x4b2cdb
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x324], 0
jmp 0x4b2cf9
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x330], edx
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x324], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 0x10
je 0x4b2d16
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x738], edx
jmp 0x4b2d20
mov dword [ebp - 0x738], 0
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x314]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x4b2d4e
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax]
mov dword [ebp - 0x320], ecx
jmp 0x4b2d58
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x340], 0
mov edx, dword [ebp - 0x350]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0xa
push ecx
lea edx, [ebp - 0x340]
push edx
mov eax, dword [ebp - 0x34c]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00492c50
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x34c]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x34c]
mov dword [eax + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x4b2db2
jmp 0x4b5c37
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xdc], 0
je 0x4b2e04
cmp dword [ebp - 0x358], 0
je 0x4b2e04
mov edx, dword [ebp - 0x334]
push edx
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x344]
push eax
mov ecx, dword [ebp - 0x358]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xdc]
call edx
add esp, 0x18
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffff1
jne 0x4b2ea4
mov eax, dword [ebp - 4]
cmp dword [eax + 0xdc], 0
je 0x4b2ea4
mov ecx, dword [ebp - 0x364]
movsx edx, byte [ecx + 1]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 2
je 0x4b2ea2
mov ecx, dword [ebp - 0x364]
movzx edx, byte [ecx + 4]
test edx, edx
je 0x4b2ea2
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.0048a0c0
add esp, 4
mov ecx, dword [ebp - 0x364]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
jmp 0x4b2eb8
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 2]
push eax
mov ecx, dword [ebp - 0x364]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00493ff0
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x364]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x364]
mov dword [ecx + 0x20], 0
cmp dword [ebp - 8], 0
je 0x4b2efa
jmp 0x4b5c37
mov edx, dword [ebp - 0x368]
and edx, 1
je 0x4b2f66
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xdc], 0
je 0x4b2f66
mov ecx, dword [ebp - 0x360]
mov edx, dword [ecx + 0x24]
and edx, 0x20
jne 0x4b2f66
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [eax + 0x40]
push edx
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x35c]
push edx
push 9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xdc]
call eax
add esp, 0x18
jmp case.0x4ae0c9.96
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00462c00
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], 0
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x36c], 0
lea edx, [ebp - 0x36c]
push edx
mov eax, dword [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x370]
push edx
call fcn.0043f7a0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b2ff6
jmp 0x4b5c37
cmp dword [ebp - 0x36c], 0
je 0x4b3004
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x378]
push edx
call fcn.0043ecb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b304e
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ecx + 0x1c], 0
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x384]
push edx
call fcn.0048a0a0
add esp, 4
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x37c]
cmp ecx, dword [eax + 0x60]
jbe 0x4b30c8
jmp 0x4b5d30
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x37c]
push eax
push 0
mov ecx, dword [ebp - 0x384]
push ecx
call fcn.004753e0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b30f2
jmp 0x4b5c37
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0xc], 0
jne 0x4b311f
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0x1000
je 0x4b311f
mov edx, dword [ebp - 0x14]
push edx
call fcn.00474440
add esp, 4
test eax, eax
je 0x4b311f
jmp 0x4b5d4d
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x4b3170
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x39c]
movzx eax, byte [edx + 3]
test eax, eax
je 0x4b319b
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x390], edx
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0x38c], eax
jmp 0x4b3264
mov ecx, dword [ebp - 0x39c]
movzx edx, byte [ecx]
cmp edx, 2
jne 0x4b320a
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x398]
mov ecx, dword [eax]
mov dword [ebp - 0x394], ecx
lea edx, [ebp - 0x390]
push edx
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x394]
mov eax, dword [edx + 0x30]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x398]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b3208
jmp 0x4b5c37
jmp 0x4b3264
mov eax, dword [ebp - 0x39c]
push eax
call fcn.00466bb0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3227
jmp 0x4b5c37
mov ecx, dword [ebp - 0x39c]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x4b3246
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x28]
push eax
call fcn.0048a0c0
add esp, 4
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x390]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38c]
mov dword [ecx + 4], eax
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x3a0]
mov byte [eax + 2], 1
mov ecx, dword [ebp - 0x3a0]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x3a0]
movzx eax, byte [edx]
test eax, eax
jne 0x4b32c8
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ecx + 0x28]
push edx
call fcn.0048a410
add esp, 4
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x3a8]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x3a4], 0
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0xc], 0
je 0x4b3326
mov edx, dword [ebp - 0x3ac]
push edx
call fcn.00489330
add esp, 4
test eax, eax
jne 0x4b3387
lea eax, [ebp - 0x3a4]
push eax
mov ecx, dword [ebp - 0x3ac]
push ecx
call fcn.00492540
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3a8]
mov al, byte [ebp - 0x3a4]
mov byte [edx + 2], al
mov ecx, dword [ebp - 0x3a8]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x3a8]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x4b3370
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
jle 0x4b3387
cmp dword [ebp - 0x3a4], 0
je 0x4b3387
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x3c4], ecx
lea edx, [ebp - 0x3b0]
push edx
mov eax, dword [ebp - 0x3c4]
push eax
call fcn.004925e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b33d4
jmp 0x4b5c37
cmp dword [ebp - 0x3b0], 0
jne 0x4b3437
mov ecx, dword [ebp - 0x3c4]
push ecx
call fcn.00489220
add esp, 4
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], edx
cmp dword [ebp - 0x3bc], 0
jl 0x4b3437
jg 0x4b340c
cmp dword [ebp - 0x3c0], 0
jb 0x4b3437
mov edx, dword [ebp - 0x3bc]
push edx
mov eax, dword [ebp - 0x3c0]
push eax
call fcn.0049e7e0
add esp, 8
movsx ecx, ax
mov edx, dword [ebp - 0x28]
cmp ecx, dword [edx + 0xc]
jge 0x4b3437
mov dword [ebp - 0x3b0], 1
cmp dword [ebp - 0x3b0], 0
je 0x4b3445
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa4]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xa4], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], 1
mov edx, dword [ebp - 0x3cc]
movzx eax, byte [edx]
cmp eax, 1
jne 0x4b34a7
lea ecx, [ebp - 0x3c8]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call fcn.00440360
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4b34e6
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x3d0], ecx
lea edx, [ebp - 0x3c8]
push edx
mov eax, dword [ebp - 0x3d0]
push eax
call fcn.004925e0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3cc]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x3cc]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x4b34f1
jmp 0x4b5c37
mov eax, dword [ebp - 0x3cc]
mov cl, byte [ebp - 0x3c8]
mov byte [eax + 2], cl
cmp dword [ebp - 0x3c8], 0
je 0x4b350e
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], 0
lea ecx, [ebp - 0x3d4]
push ecx
mov edx, dword [ebp - 0x3d8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043efe0
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x4b35a8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
cmp dword [ecx + edx*4], 0
jne case.0x4ae0c9.6
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x3d4], edx
lea eax, [ebp - 0x3d4]
push eax
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3d8]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x4b35c0
jmp 0x4b5c37
cmp dword [ebp - 0x3d4], 0
jne 0x4b35ff
mov eax, dword [ebp - 0x3d8]
mov byte [eax + 2], 0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0x9c]
add ecx, 1
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0x9c], ecx
jmp case.0x4ae0c9.13
mov eax, dword [ebp - 0x3d8]
mov byte [eax + 2], 1
jmp 0x4ae0e2
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x404], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 1
je 0x4b364d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x4b3670
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004743b0
add esp, 4
mov dword [ebp - 0x73c], eax
jmp 0x4b367a
mov dword [ebp - 0x73c], 0
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x4b368e
jmp 0x4b5c37
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x7f
jne 0x4b36b4
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x404]
push edx
call fcn.00440410
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4b3755
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], edx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x28]
mov ax, word [edx + 0x10]
mov word [ebp - 0x3e8], ax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x10
je 0x4b3710
mov eax, dword [ebp - 0x404]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x740], ecx
jmp 0x4b371a
mov dword [ebp - 0x740], 0
mov edx, dword [ebp - 0x740]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0xa
push ecx
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x404]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00492c50
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x404]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x4b3760
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x28]
mov cx, word [eax + 0xc]
mov word [ebp - 0x414], cx
mov byte [ebp - 0x412], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x418], eax
lea ecx, [ebp - 0x408]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x420]
push eax
call fcn.00491f70
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b37f0
jmp 0x4b5c37
cmp dword [ebp - 0x408], 0
jne 0x4b3818
push 4
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.00493ff0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3818
jmp 0x4b5c37
mov edx, dword [ebp - 0x40c]
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x40c]
mov dword [eax + 0x20], 0
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x430]
push eax
call fcn.00466bb0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3869
jmp 0x4b5c37
mov ecx, dword [ebp - 0x430]
movzx edx, byte [ecx + 2]
test edx, edx
jne 0x4b3952
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0
lea eax, [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00466510
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b38ba
jmp 0x4b5c37
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x82
jne 0x4b3929
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x42c]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x428]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0x424]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x42c]
mov byte [eax + 3], 1
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x430]
mov dword [ecx + 0x24], edx
jmp 0x4b3950
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x428]
mov dword [edx], eax
mov ecx, dword [ebp - 0x424]
mov dword [edx + 4], ecx
jmp 0x4b3967
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x438]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x28]
mov ax, word [edx + 0x10]
mov word [ebp - 0x440], ax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x28
jge 0x4b39b2
mov byte [ebp - 0x43e], 0xff
jmp 0x4b39b9
mov byte [ebp - 0x43e], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x434], 0
lea edx, [ebp - 0x434]
push edx
lea eax, [ebp - 0x448]
push eax
mov ecx, dword [ebp - 0x438]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00466440
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
and ecx, 1
jne 0x4b3a14
mov edx, dword [ebp - 0x434]
neg edx
mov dword [ebp - 0x434], edx
jmp 0x4b3a23
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
cmp dword [ebp - 8], 0
je 0x4b3a2e
jmp 0x4b5c37
cmp dword [ebp - 0x434], 0
jle 0x4b3a3c
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xac]
add eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], eax
jle 0x4b3a92
mov dword [ebp - 8], 6
mov edx, dword [ebp + 8]
mov byte [edx + 0x8e], 2
jmp 0x4b5c37
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], 0
lea edx, [ebp - 0x44c]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x450]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004939d0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x44c]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
je 0x4b3afb
jmp 0x4b5c37
cmp dword [ebp - 0x44c], 0
je 0x4b3b31
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x450]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00496be0
add esp, 0x10
mov ecx, dword [ebp - 0x450]
add ecx, 1
mov byte [ebp - 0x1e], cl
jmp case.0x4ae0c9.96
mov dword [ebp - 0x454], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x454]
and eax, ecx
push eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00492900
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
je 0x4b3bcc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, dword [ebp - 0x454]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0xc], 0
jle 0x4b3bcc
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0x454]
cdq
mov esi, dword [ebp - 0x2c]
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0x2c]
mov dword [esi + edx], eax
mov dword [esi + edx + 4], ecx
cmp dword [ebp - 8], 0
je 0x4b3bd7
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
movzx eax, byte [edx]
cmp eax, 1
jne 0x4b3c17
mov ecx, dword [ebp - 0x458]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043eb90
add esp, 8
jmp 0x4b3c37
mov ecx, dword [ebp - 0x458]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00493520
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3c37
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x460], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x464], eax
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x89
jne 0x4b3c87
mov dword [ebp - 0x45c], 1
jmp 0x4b3c91
mov dword [ebp - 0x45c], 2
mov ecx, dword [ebp - 0x45c]
push ecx
lea edx, [ebp - 0x460]
push edx
mov eax, dword [ebp - 0x464]
mov ecx, dword [eax + 4]
push ecx
call fcn.00493540
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3cbf
jmp 0x4b5c37
mov eax, dword [ebp - 0x460]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x4e]
add al, 1
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x4e], al
push 0
push 0
push 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004b91f0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x4e]
sub al, 1
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x4e], al
cmp dword [ebp - 8], 0
je 0x4b3d16
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x468], 0x4d0b20
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp + 8]
add ecx, 0x6c
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x468]
push ecx
mov edx, dword [ebp - 0x480]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov eax, dword [ebp - 4]
push eax
call fcn.00462b00
add esp, 0x14
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0
jne 0x4b3d9c
mov dword [ebp - 8], 7
jmp 0x4b3e00
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x99], 1
mov dword [ebp - 0x46c], 0
push 0
lea edx, [ebp - 0x478]
push edx
push fcn.004a1b60
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004b91f0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b3de3
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8b10
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x99], 0
cmp dword [ebp - 8], 0
je 0x4b3e22
mov eax, dword [ebp - 4]
push eax
call fcn.00498cf0
add esp, 4
cmp dword [ebp - 8], 7
jne 0x4b3e1d
jmp 0x4b5d4d
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0045be70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b3e48
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004983b0
add esp, 0xc
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00497f80
add esp, 0xc
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004aa270
add esp, 0xc
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x490], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x484]
push eax
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ecx]
add edx, 1
push edx
mov eax, dword [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0048f9a0
add esp, 0x14
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00473ff0
add esp, 4
cmp dword [ebp - 0x484], 0
jne 0x4b3f3e
jmp 0x4b3f8e
cmp dword [ebp - 0x494], 0
jne 0x4b3f4e
jmp 0x4b5d4d
mov eax, dword [ebp - 0x484]
sub eax, 1
cdq
mov ecx, dword [ebp - 0x48c]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x48c]
mov dword [ecx], esi
mov dword [ecx + 4], eax
push fcn.004a88f0
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x494]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.004745a0
add esp, 0x14
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00474a40
add esp, 8
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
jne 0x4b3feb
mov eax, dword [ebp - 0x30]
push eax
call fcn.004748d0
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
jne 0x4b3feb
jmp 0x4b5d4d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
push ecx
call fcn.00441290
add esp, 0xc
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
je 0x4b403c
lea eax, [ebp - 0x4a0]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push edx
call fcn.00440fa0
add esp, 8
test eax, eax
jne 0x4b404f
mov eax, dword [ebp - 0x30]
push eax
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.13
mov ecx, dword [ebp - 0x49c]
push ecx
mov edx, dword [ebp - 0x4a0]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
push ecx
call fcn.00474970
add esp, 0xc
jmp 0x4ae0e2
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x4b40ca
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004748d0
add esp, 4
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x4b40ca
jmp 0x4b5d4d
cmp dword [ebp - 0x4a8], 0
je 0x4b4106
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x4a8]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
push eax
call fcn.004410c0
add esp, 0x10
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0
je 0x4b4106
jmp 0x4ae185
cmp dword [ebp - 0x4a8], 0
jl 0x4b4127
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push edx
call fcn.00441290
add esp, 0xc
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
test edx, edx
je 0x4b41ae
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x4ac], eax
jmp 0x4b4184
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4ac], edx
cmp dword [ebp - 0x4ac], 0
je 0x4b41a0
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebp - 0x4c4]
je 0x4b41a0
jmp 0x4b4175
cmp dword [ebp - 0x4ac], 0
je 0x4b41ae
jmp case.0x4ae0c9.96
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0xc0]
cmp ecx, dword [eax + 0x88]
jl 0x4b41df
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
jmp 0x4b5c37
mov eax, dword [ebp - 0x4c8]
movzx ecx, word [eax + 8]
and ecx, 0x40
jne 0x4b43c8
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x4bc]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x4c0], eax
mov edx, dword [ebp - 0x4bc]
cmp dword [edx + 0xc], 0
jne 0x4b4225
mov eax, dword [ebp - 0x4c0]
add eax, 1
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4 + 0x50]
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add ecx, eax
mov dword [ebp - 0x4b8], ecx
mov eax, dword [ebp - 0x4b8]
cdq
push edx
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.004a9140
add esp, 0xc
mov dword [ebp - 0x4ac], eax
cmp dword [ebp - 0x4ac], 0
jne 0x4b4281
jmp 0x4b5d4d
mov ecx, dword [ebp - 0x4c8]
push ecx
call fcn.00474320
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0x4c8]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x4c8]
mov edx, dword [ebp - 0x4ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4c0]
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x4ac]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x88]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x4bc]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x4ac]
lea eax, [edx + ecx + 0x50]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4ac]
add ecx, 0x50
mov dword [ebp - 0x4b0], ecx
jmp 0x4b439b
mov edx, dword [ebp - 0x4b0]
add edx, 0x28
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4b0]
cmp eax, dword [ebp - 0x4b4]
je 0x4b43c6
mov ecx, 0x80
mov edx, dword [ebp - 0x4b0]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], ecx
jmp 0x4b438c
jmp 0x4b43d6
mov edx, dword [ebp - 0x4c8]
mov eax, dword [edx]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xc0], edx
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
mov edx, dword [edx + 0x24]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0x44], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ecx + 0x58]
mov dword [edx + 0x48], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xcc]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xcc], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4ac]
mov dword [eax + 0xb8], ecx
mov edx, dword [ebp - 0x4ac]
add edx, 0x50
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0x4ac]
movzx eax, word [edx + 0x40]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
lea eax, [edx + eax*4]
mov ecx, dword [ebp - 0x4ac]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [eax + 0x18]
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4bc]
mov edx, dword [ecx + 4]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x14
mov dword [ebp - 0x28], eax
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x30]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 4]
add ecx, dword [edx + eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x4cc]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x4d0], ecx
push 0x1000
mov eax, dword [ebp - 0x4d0]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00474210
add esp, 0xc
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 0x2000000
je 0x4b45cf
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1c0]
mov ecx, dword [ecx + 0x1c4]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1c0], eax
mov dword [edx + 0x1c4], ecx
jmp 0x4b461c
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x4b4601
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1b8]
mov ecx, dword [ecx + 0x1bc]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b8], eax
mov dword [edx + 0x1bc], ecx
jmp 0x4b461c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x4b4677
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x744]
mov ecx, dword [edx + 0x1b8]
or ecx, dword [eax + 0x1bc]
jne 0x4b4675
mov edx, dword [ebp - 4]
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x748]
mov ecx, dword [ebp - 0x748]
mov edx, dword [eax + 0x1c0]
or edx, dword [ecx + 0x1c4]
jne 0x4b4675
jmp 0x4ae185
jmp 0x4b46bc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x74c]
mov edx, dword [ebp - 0x74c]
mov eax, dword [ecx + 0x40]
or eax, dword [edx + 0x44]
jne 0x4b46bc
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x750]
mov eax, dword [ebp - 0x750]
mov ecx, dword [edx + 0x1c0]
or ecx, dword [eax + 0x1c4]
jne 0x4b46bc
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb8], 0
je 0x4b4712
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x4d4], ecx
jmp 0x4b46ed
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 4], 0
je 0x4b46fb
jmp 0x4b46de
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x4d4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
jmp 0x4b4721
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00473dc0
add esp, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00473dc0
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x754], edx
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x758]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jg 0x4b4792
jl 0x4b4782
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x758]
mov eax, dword [ecx]
cmp eax, dword [edx]
jae 0x4b4792
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x75c]
cmp dword [eax + 4], 0
jl 0x4b47e8
jg 0x4b47c8
mov ecx, dword [ebp - 0x75c]
cmp dword [ecx], 0
jbe 0x4b47e8
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x30]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0x4e0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x4dc], 0
jl 0x4b48b3
jg 0x4b4846
cmp dword [ebp - 0x4e0], 0
jbe 0x4b48b3
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x760]
cmp dword [eax + 4], 0
jl 0x4b487e
jg 0x4b4868
mov ecx, dword [ebp - 0x760]
cmp dword [ecx], 0
jbe 0x4b487e
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x768], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x764], ecx
jmp 0x4b4892
mov dword [ebp - 0x768], 0
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x764]
push edx
mov eax, dword [ebp - 0x768]
push eax
lea ecx, [ebp - 0x4e0]
push ecx
call fcn.0049eb50
add esp, 0xc
test eax, eax
je 0x4b48c5
mov edx, dword [ebp - 0x14]
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
jmp 0x4b48d9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4e0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4dc]
mov dword [eax + 4], edx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x76c]
mov edx, dword [eax]
or edx, dword [ecx + 4]
je 0x4b4946
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x770]
cmp dword [ecx + 4], 0
jl 0x4b4941
jg 0x4b492b
mov edx, dword [ebp - 0x770]
cmp dword [edx], 0
jbe 0x4b4941
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
sub ecx, 1
mov edx, dword [eax + 4]
sbb edx, 0
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
cmp dword [ecx + 4], 0x80000000
jl 0x4b4995
jg 0x4b497f
mov edx, dword [ebp - 0x774]
cmp dword [edx], 0
jbe 0x4b4995
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
sub ecx, 1
mov edx, dword [eax + 4]
sbb edx, 0
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x778], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x778]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
jne 0x4b49b6
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
lea edx, [ecx*4 + 0x1c]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a8ff0
add esp, 0xc
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 0
jne 0x4b49f9
jmp 0x4b5d4d
mov edx, dword [ebp - 0x4e4]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x4e4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x4e4]
mov al, byte [ebp - 0x4e8]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 1], 0xf0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4e4]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x28]
mov byte [ecx], 0x97
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4f0]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x4ec]
je 0x4b4aef
mov edx, dword [ebp - 0x4f0]
mov eax, dword [ebp - 0x4ec]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x4f0]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0x4f4], edx
jmp 0x4b4ac2
mov eax, dword [ebp - 0x4f4]
sub eax, 1
mov dword [ebp - 0x4f4], eax
cmp dword [ebp - 0x4f4], 0
jl 0x4b4aef
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0x4f4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x4f0]
mov dword [ecx + eax*4 + 0x1c], edx
jmp 0x4b4ab3
mov edx, dword [ebp - 0x4ec]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x4ec]
mov dword [ecx + 0xc], eax
push 1
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x520]
push eax
call fcn.00473ab0
add esp, 0xc
mov ecx, dword [ebp - 0x4f0]
lea edx, [ebp - 0x520]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4f0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0x4f0]
mov byte [ecx + 0x18], 0
mov edx, dword [ebp - 0x4f0]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x4f0]
movzx ecx, byte [eax + 0x1a]
push ecx
mov edx, dword [ebp - 0x4f0]
push edx
mov eax, dword [ebp - 0x4f0]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x4f0]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4b4bc9
mov edx, dword [ebp - 0x4f0]
cmp dword [edx + 0x14], 0
je 0x4b4baf
lea eax, [ebp - 0x520]
push eax
call fcn.004a35c0
add esp, 4
push eax
push 0x4d0b98
mov ecx, dword [ebp + 8]
push ecx
call fcn.004650b0
add esp, 0xc
mov edx, dword [ebp - 0x4f0]
mov eax, dword [edx + 0x14]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x520]
push ecx
call fcn.00474320
add esp, 4
cmp dword [ebp - 8], 0
je 0x4b4bc9
jmp 0x4b5c37
mov edx, dword [ebp - 0x4f0]
movzx eax, byte [edx + 0x18]
test eax, eax
je 0x4b4c05
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx - 0x10]
mov dword [ebp - 0x4f4], edx
cmp dword [ebp - 0x4f4], 0
je 0x4b4c05
push 0
push 1
mov eax, dword [ebp - 0x4f4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.00474970
add esp, 0xc
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x524]
push edx
call fcn.00473e00
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b4c61
mov eax, dword [ebp - 0x524]
push eax
call fcn.004a35c0
add esp, 4
push eax
push 0x4d0b9c
mov ecx, dword [ebp + 8]
push ecx
call fcn.004650b0
add esp, 0xc
jmp 0x4b5c37
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x524]
push eax
call fcn.00474a40
add esp, 8
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.00473a60
add esp, 4
test eax, eax
je 0x4b4c8d
jmp 0x4b5d30
jmp case.0x4ae0c9.96
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x52c], 0xffffffff
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], edx
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x530]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004a70b0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b4cff
cmp dword [ebp - 8], 5
je 0x4b4cee
jmp 0x4b5c37
mov dword [ebp - 8], 0
mov dword [ebp - 0x534], 1
mov dword [ebp - 0x538], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x528], edx
jmp 0x4b4d3b
mov eax, dword [ebp - 0x538]
add eax, 1
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x528]
add ecx, 0x28
mov dword [ebp - 0x528], ecx
cmp dword [ebp - 0x538], 3
jge 0x4b4d65
mov edx, dword [ebp - 0x538]
mov eax, dword [ebp + edx*4 - 0x534]
cdq
push edx
push eax
mov eax, dword [ebp - 0x528]
push eax
call fcn.00474970
add esp, 0xc
jmp 0x4b4d1d
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x54c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
push ecx
call fcn.00489160
add esp, 4
mov dword [ebp - 0x544], eax
mov edx, dword [ebp - 0x544]
push edx
call fcn.00482530
add esp, 4
mov dword [ebp - 0x548], eax
cmp dword [ebp - 0x54c], 0xffffffff
jne 0x4b4de1
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.004824e0
add esp, 4
test eax, eax
jne 0x4b4e00
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
push 1
mov eax, dword [ebp - 0x544]
push eax
call fcn.00482690
add esp, 8
mov dword [ebp - 0x540], eax
cmp dword [ebp - 0x54c], 5
jne 0x4b4e52
mov ecx, dword [ebp - 0x540]
push ecx
call fcn.0049fd00
add esp, 4
test eax, eax
je 0x4b4e46
mov edx, dword [ebp - 0x544]
push edx
call fcn.004823f0
add esp, 4
test eax, eax
jne 0x4b4e52
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
cmp ecx, dword [ebp - 0x548]
je 0x4b4f55
cmp dword [ebp - 0x548], 5
je 0x4b4e7a
cmp dword [ebp - 0x54c], 5
jne 0x4b4f55
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x43]
test eax, eax
je 0x4b4e91
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], 1
jle 0x4b4ed6
mov dword [ebp - 8], 1
cmp dword [ebp - 0x54c], 5
jne 0x4b4ead
mov dword [ebp - 0x77c], str.into
jmp 0x4b4eb7
mov dword [ebp - 0x77c], str.out_of
mov edx, dword [ebp - 0x77c]
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp + 8]
push eax
call fcn.004650b0
add esp, 0xc
jmp 0x4b5c37
cmp dword [ebp - 0x548], 5
jne 0x4b4f13
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x544]
push edx
call fcn.00488090
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4b4f11
mov eax, dword [ebp - 0x54c]
push eax
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.00488cf0
add esp, 8
jmp 0x4b4f2d
cmp dword [ebp - 0x548], 4
jne 0x4b4f2d
push 2
mov edx, dword [ebp - 0x544]
push edx
call fcn.00488cf0
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4b4f55
xor eax, eax
cmp dword [ebp - 0x54c], 5
sete al
add eax, 1
push eax
mov ecx, dword [ebp - 0x53c]
push ecx
call fcn.00495700
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b4f67
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x54c]
push eax
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.00488cf0
add esp, 8
mov dword [ebp - 0x54c], eax
mov edx, 0xa02
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x54c]
push ecx
call fcn.004762f0
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0049fd00
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xa], 1
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00474a40
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b4fdc
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x6c
push eax
call fcn.004b8d10
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b5009
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x550]
push eax
call fcn.004930b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b5056
cmp dword [ebp - 8], 0x65
je 0x4b504a
jmp 0x4b5c37
mov dword [ebp - 8], 0
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 4], 0
jne 0x4b5072
mov edx, dword [ebp - 4]
push edx
call fcn.00462ba0
add esp, 4
jmp 0x4b5087
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x90], ecx
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x551], cl
movzx edx, byte [ebp - 0x551]
test edx, edx
jne 0x4b50b1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
and ecx, 0x4000
jne 0x4b5128
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x558], eax
movzx ecx, byte [ebp - 0x551]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x558]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.0048a8a0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b5128
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 6
jne 0x4b5123
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x55c]
push edx
push str.database_table_is_locked:__s
mov eax, dword [ebp + 8]
push eax
call fcn.004650b0
add esp, 0xc
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x560]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0047fbe0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x560], 0
je 0x4b516e
mov edx, dword [ebp - 0x560]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b5179
jmp 0x4b5c37
jmp case.0x4ae0c9.96
xor edx, edx
mov dword [ebp - 0x590], edx
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x580], edx
mov dword [ebp - 0x57c], edx
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x574], edx
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x570], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
lea eax, [ebp - 0x590]
push eax
call fcn.00474830
add esp, 8
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x590]
push ecx
call fcn.004a35c0
add esp, 4
mov dword [ebp - 0x564], eax
cmp dword [ebp - 0x564], 0
je 0x4b5226
mov edx, dword [ebp + 8]
add edx, 0x6c
push edx
mov eax, dword [ebp - 0x564]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0047fd10
add esp, 0x10
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x590]
push ecx
call fcn.00474320
add esp, 4
cmp dword [ebp - 8], 0
je 0x4b5240
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xac]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xac], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0047ec40
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xac]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xac], edx
cmp dword [ebp - 8], 0
je 0x4b5297
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x598], eax
cmp dword [ebp - 0x598], 0
je 0x4b52d3
mov ecx, dword [ebp - 0x598]
cmp dword [ecx], 0
jne 0x4b52df
mov dword [ebp - 8], 6
jmp 0x4b5c37
mov edx, dword [ebp - 0x598]
mov eax, dword [edx]
mov dword [ebp - 0x594], eax
lea ecx, [ebp - 0x59c]
push ecx
mov edx, dword [ebp - 0x598]
push edx
mov eax, dword [ebp - 0x594]
mov ecx, dword [eax + 0x18]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x598]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b532a
jmp 0x4b5c37
mov ecx, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x598]
mov dword [ecx], edx
push 2
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ade30
add esp, 0x14
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 0
je 0x4b5386
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x59c]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 0x598]
mov eax, dword [edx + 4]
add eax, 1
mov ecx, dword [ebp - 0x598]
mov dword [ecx + 4], eax
jmp 0x4b53a0
mov edx, dword [ebp - 0x59c]
push edx
mov eax, dword [ebp - 0x594]
mov ecx, dword [eax + 0x1c]
call ecx
add esp, 4
jmp 0x4b5d4d
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x5a8]
add ecx, 0x28
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x5c4]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x5bc], edx
mov eax, dword [ebp - 0x5bc]
mov ecx, dword [eax]
mov dword [ebp - 0x5b8], ecx
mov edx, dword [ebp - 0x5b8]
mov eax, dword [edx]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx]
mov dword [ebp - 0x5cc], edx
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax]
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 0x5a4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], 0
jmp 0x4b5453
mov ecx, dword [ebp - 0x5b0]
add ecx, 1
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5b0]
cmp edx, dword [ebp - 0x5cc]
jge 0x4b5484
mov eax, dword [ebp - 0x5b0]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c0]
mov ecx, dword [ebp - 0x5b0]
mov edx, dword [ebp - 0x5b4]
mov dword [edx + ecx*4], eax
jmp 0x4b5444
mov eax, dword [ebp - 0x5b4]
push eax
mov ecx, dword [ebp - 0x5cc]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x5c8]
push ecx
mov edx, dword [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x5ac]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x5b8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b54d6
jmp 0x4b5c37
mov ecx, dword [ebp - 0x5bc]
push ecx
mov edx, dword [ebp - 0x5ac]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5c4]
mov byte [ecx + 2], 0
cmp dword [ebp - 0x5a4], 0
je 0x4b5509
jmp 0x4ae185
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5fc], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5fc]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x4b5557
mov edx, dword [ebp - 0x5d0]
push edx
call fcn.00473ff0
add esp, 4
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x5f8]
mov ecx, dword [eax]
mov dword [ebp - 0x5f4], ecx
xor edx, edx
mov dword [ebp - 0x5f0], edx
mov dword [ebp - 0x5ec], edx
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 0x5e4], edx
mov dword [ebp - 0x5e0], edx
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x5d0]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 1
mov eax, dword [ebp - 0x5d0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
push edx
lea eax, [ebp - 0x5f0]
push eax
mov ecx, dword [ebp - 0x5fc]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x5f4]
mov ecx, dword [eax + 0x2c]
call ecx
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x5f8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00464010
add esp, 8
cmp dword [ebp - 0x5dc], 0
je 0x4b561f
mov ecx, dword [ebp - 0x5dc]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x5d0]
push eax
call fcn.00474a40
add esp, 8
mov ecx, dword [ebp - 0x5d0]
push ecx
call fcn.00473a60
add esp, 4
test eax, eax
je 0x4b564b
jmp 0x4b5d30
cmp dword [ebp - 8], 0
je 0x4b5656
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov dword [ebp - 0x600], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x60c]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x4b568d
jmp case.0x4ae0c9.96
mov eax, dword [ebp - 0x60c]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
mov ecx, dword [eax]
mov dword [ebp - 0x604], ecx
mov edx, dword [ebp - 0x60c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x604]
mov edx, dword [ecx + 0x24]
call edx
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x608]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
je 0x4b56e5
jmp 0x4b5c37
mov edx, dword [ebp - 0x60c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x604]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x600], eax
cmp dword [ebp - 0x600], 0
jne 0x4b5711
jmp case.0x4ae0c9.13
jmp 0x4ae0e2
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x614], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x610], ecx
push 1
mov edx, dword [ebp - 0x610]
push edx
call fcn.00474a40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4b5756
jmp 0x4b5c37
mov eax, dword [ebp - 0x610]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x614]
push edx
mov eax, dword [ebp - 0x614]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x614]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00464010
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
and eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
cmp dword [ebp - 8], 0
je 0x4b57ad
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 0
je 0x4b57d5
mov edx, dword [ebp - 0x634]
cmp dword [edx], 0
jne 0x4b57e1
mov dword [ebp - 8], 6
jmp 0x4b5c37
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax]
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x618]
cmp dword [ecx + 0x34], 0
je 0x4b5981
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x4a]
mov byte [ebp - 0x639], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x624], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x620], ecx
mov dword [ebp - 0x61c], 0
jmp 0x4b5850
mov edx, dword [ebp - 0x61c]
add edx, 1
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x61c]
cmp eax, dword [ebp - 0x638]
jge 0x4b5884
mov ecx, dword [ebp - 0x61c]
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x620]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x620]
add ecx, 0x28
mov dword [ebp - 0x620], ecx
jmp 0x4b5841
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 2]
mov byte [edx + 0x4a], cl
lea edx, [ebp - 0x630]
push edx
mov eax, dword [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0x638]
push ecx
mov edx, dword [ebp - 0x634]
push edx
mov eax, dword [ebp - 0x618]
mov ecx, dword [eax + 0x34]
call ecx
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0x639]
mov byte [edx + 0x4a], al
mov ecx, dword [ebp - 0x634]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00464010
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4b5900
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x4b5900
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x630]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x62c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 0x13
jne 0x4b5967
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x4b5967
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
cmp eax, 4
jne 0x4b5931
mov dword [ebp - 8], 0
jmp 0x4b5965
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
cmp edx, 5
jne 0x4b5949
mov dword [ebp - 0x780], 2
jmp 0x4b5956
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
mov dword [ebp - 0x780], ecx
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x780]
mov byte [edx + 0x8e], al
jmp 0x4b5976
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
cmp dword [ebp - 8], 0
je 0x4b5981
jmp 0x4b5c37
jmp case.0x4ae0c9.96
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00489b80
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004add20
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x644], 0
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
je 0x4b5a32
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.00489b80
add esp, 4
mov dword [ebp - 0x644], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x644]
cmp eax, dword [edx + 0xc]
jae 0x4b5a32
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.0048a290
add esp, 8
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4ae0c9.96
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x4c]
and eax, 0x81
je 0x4b5ba9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
shr edx, 1
and edx, 1
jne 0x4b5ba9
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x10], 0
je 0x4b5a93
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x784], edx
jmp 0x4b5aa2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 0
je 0x4b5ba9
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x4c]
and ecx, 0x80
je 0x4b5b20
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x64c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ab4a0
add esp, 8
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbc]
push edx
call dword [ebp - 0x650]
add esp, 8
mov eax, dword [ebp - 0x654]
push eax
call fcn.004a88f0
add esp, 4
jmp 0x4b5ba9
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa8], 1
jle 0x4b5b84
mov edx, dword [ebp - 0x64c]
push edx
push str.____s
mov eax, dword [ebp - 4]
push eax
call fcn.00462b00
add esp, 0xc
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
push ecx
push 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x658]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004a8e40
add esp, 8
jmp 0x4b5ba9
mov eax, dword [ebp - 0x64c]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xbc]
push eax
push 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x10
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
cmp ecx, dword [0x4d7df0]
jl 0x4b5c1e
mov dword [ebp - 0x648], 1
jmp 0x4b5bd2
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x648]
cmp ecx, dword [eax + 0x88]
jge 0x4b5c14
mov edx, dword [ebp - 0x648]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
movzx edx, byte [ecx + edx]
cmp edx, 0x14
jne 0x4b5c12
mov eax, dword [ebp - 0x648]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov dword [edx + eax + 4], 0
jmp 0x4b5bc3
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
add edx, 1
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], edx
jmp 0x4ae185
jmp 0x4ae088
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x45]
test edx, edx
je 0x4b5c49
mov dword [ebp - 8], 7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6c], 0
jne 0x4b5c79
cmp dword [ebp - 8], 0xc0a
je 0x4b5c79
mov ecx, dword [ebp - 8]
push ecx
call fcn.004a4cc0
add esp, 4
push eax
push 0x4d0c0c
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0049fc60
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
push ecx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
mov edx, dword [ebp - 8]
push edx
call fcn.00462a80
add esp, 0x14
mov eax, dword [ebp + 8]
push eax
call fcn.00467bf0
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x4b5ce4
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a86e0
add esp, 4
mov dword [ebp - 8], 1
movzx edx, byte [ebp - 0x1e]
test edx, edx
jle 0x4b5d07
movzx eax, byte [ebp - 0x1e]
sub eax, 1
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00498d80
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xac]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xac], eax
mov edx, dword [ebp + 8]
push edx
call fcn.00463ce0
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x4b5db6
push 0x4d0c30
mov eax, dword [ebp + 8]
push eax
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 0x12
jmp 0x4b5c37
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a86e0
add esp, 4
push 0x4d0c48
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 8
mov dword [ebp - 8], 7
jmp 0x4b5c37
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x45]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 9
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004a4cc0
add esp, 4
push eax
push 0x4d0c58
mov edx, dword [ebp + 8]
push edx
call fcn.004650b0
add esp, 0xc
jmp 0x4b5c37
pop edi
pop esi
mov esp, ebp
pop ebp
ret