Function at 0x458c30
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x506380]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 8], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov byte [ebp - 0xee], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov cl, byte [eax + 0x4d]
mov byte [ebp - 0xed], cl
mov dword [ebp - 0xdc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x108], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004534c0
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 7
jne 0x458d03
jmp 0x46087e
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b4], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x458d35
jmp 0x4608ee
mov ecx, dword [ebp - 4]
xor edx, edx
cmp dword [ecx + 0x114], 0
setne dl
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xd8], ecx
jmp 0x458d67
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 8], 0
jne 0x4607ba
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x458d81
jmp 0x46087e
mov edx, dword [ebp - 0xd8]
imul edx, edx, 0x14
add edx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], edx
cmp dword [ebp - 0xe0], 0
je 0x458dfc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0xdc]
jne 0x458ded
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x118]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x114]
call edx
add esp, 4
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x458de3
mov dword [ebp - 8], 9
jmp 0x4607ba
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 2]
and edx, 2
je 0x458e41
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.00452610
add esp, 4
mov eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
sub ecx, 1
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 0x90
ja case.0x458e75.16
mov edx, dword [ebp - 0x144]
jmp dword [edx*4 + 0x460938]
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x458e8d
jmp 0x4608ee
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, 4
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, 4
mov edx, dword [ebp - 0x100]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 1
jne case.0x458e75.5
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
jne 0x45907f
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa8], 0
je 0x45907f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0xa8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00455580
add esp, 8
mov edx, dword [ebp - 0x114]
push edx
call fcn.00454a20
add esp, 4
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x108], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 4
jne 0x459062
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xfc], edx
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + 8]
mov byte [eax + 0x60], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0x10], 0
je 0x45910b
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
push 0x510318
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0x10
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push str.abort_at__d_in___s_:__s
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
call fcn.00441700
add esp, 0x14
jmp 0x45913c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 0
je 0x45913c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push str.constraint_failed_at__d_in___s_
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
call fcn.00441700
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.00453080
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x459163
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
jmp 0x459176
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 8], eax
jmp 0x460831
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 4]
mov dword [ecx + 0x14], eax
jmp case.0x458e75.16
mov ecx, 8
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xe4]
fld qword [ecx]
fstp qword [edx + 8]
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov byte [eax], 9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00441a00
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0xed]
cmp edx, 1
je 0x4592f2
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.00451f90
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jne 0x45923e
jmp 0x46085a
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00455970
add esp, 8
test eax, eax
je 0x45925e
jmp 0x46087e
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
or ecx, 0x800
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4592c4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0043f820
add esp, 8
mov edx, dword [ebp - 0xf8]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x48]
jle case.0x458e75.8
jmp 0x46085a
mov eax, 0xa02
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x458e75.16
mov ecx, 1
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
jmp case.0x458e75.16
push 0
push 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00451f90
add esp, 0x14
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x48]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00469570
add esp, 4
test eax, eax
je 0x4593d1
jmp 0x46085a
push 0x800
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004695c0
add esp, 0xc
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xc4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xcc], ecx
test eax, eax
je 0x4594c2
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x100]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.00458990
add esp, 8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x100]
add eax, 0x28
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x28
mov dword [ebp - 0xe4], ecx
jmp 0x459448
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
push 0x1000
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004695c0
add esp, 0xc
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0x1000
je 0x45953b
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00452470
add esp, 4
test eax, eax
je 0x45953b
jmp 0x46087e
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
push 0x1000
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004695c0
add esp, 0xc
jmp case.0x458e75.16
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00455420
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4595ac
jmp case.0x458e75.16
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00455210
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4595c8
jmp case.0x458e75.16
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x54], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], 0
jmp 0x459619
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ecx + 8]
jge 0x45969c
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xd0]
movzx edx, word [ecx + eax + 0x1c]
and edx, 0x1000
je 0x459667
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd0]
push eax
call fcn.00452470
add esp, 4
test eax, eax
je 0x459667
jmp 0x46087e
mov ecx, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd0]
push ecx
call fcn.00456230
add esp, 4
mov edx, dword [ebp - 0xcc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd0]
push edx
call fcn.00458b10
add esp, 4
jmp 0x45960a
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4596ac
jmp 0x46087e
mov edx, dword [ebp - 0xd8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], edx
mov dword [ebp - 8], 0x64
jmp 0x460831
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x45973e
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004527e0
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x459767
mov edx, dword [ebp - 0x100]
push edx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x148], eax
jmp 0x459771
mov dword [ebp - 0x148], 0
cmp dword [ebp - 0x148], 0
jne 0x4597b6
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4597a3
mov edx, dword [ebp - 0xec]
push edx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x14c], eax
jmp 0x4597ad
mov dword [ebp - 0x14c], 0
cmp dword [ebp - 0x14c], 0
je 0x4597bb
jmp 0x46087e
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4597ea
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.004562b0
add esp, 8
test eax, eax
je 0x4597ea
jmp 0x46087e
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 0x12
jne 0x459819
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.004562b0
add esp, 8
test eax, eax
je 0x459819
jmp 0x46087e
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0xec]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x150]
jl 0x45986e
jg 0x459869
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x154]
jbe 0x45986e
jmp 0x46085a
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 2
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xe4]
xor eax, eax
cmp edx, dword [ebp - 0xec]
sete al
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, 2
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004522d0
add esp, 0xc
test eax, eax
je 0x4598be
jmp 0x46087e
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xec]
je 0x4598f2
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
push eax
call fcn.0041da10
add esp, 0xc
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xec]
add eax, dword [ecx + 0x18]
push eax
call fcn.0041da10
add esp, 0xc
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
mov byte [edx + ecx], 0
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + 4]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0xe4]
mov cl, byte [ebp - 0xed]
mov byte [eax + 0x1f], cl
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00458b70
add esp, 4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.00458b70
add esp, 4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
or edx, ecx
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xd0]
and edx, 1
je 0x459a22
jmp 0x459e07
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x459c35
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x158]
sub eax, 0x56
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 3
ja case.default.0x459aa2
mov ecx, dword [ebp - 0x158]
jmp dword [ecx*4 + 0x460b7c]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00460d80
add esp, 0xc
test eax, eax
je 0x459acf
jmp 0x459c35
jmp 0x459bfc
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00460e70
add esp, 0xc
test eax, eax
je 0x459afa
jmp 0x459c35
jmp 0x459bfc
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00460ee0
add esp, 0xc
test eax, eax
je 0x459b25
jmp 0x459c35
jmp 0x459bfc
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x459b3d
jmp 0x459e07
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x459b68
cmp dword [ebp - 0xc0], 0
jne 0x459b68
cmp dword [ebp - 0xbc], 0x80000000
jne 0x459b68
jmp 0x459c35
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00421fd0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x459bfc
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x459baa
jmp 0x459e07
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x459bcf
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00422080
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xbc]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp 0x459e02
mov edx, dword [ebp - 0x100]
push edx
call fcn.004563d0
add esp, 4
fstp qword [ebp - 0xb8]
mov eax, dword [ebp - 0xec]
push eax
call fcn.004563d0
add esp, 4
fstp qword [ebp - 0xb0]
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
sub eax, 0x56
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 3
ja case.default.0x459c8c
mov ecx, dword [ebp - 0x15c]
jmp dword [ecx*4 + 0x460b8c]
fld qword [ebp - 0xb0]
fadd qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x459da2
fld qword [ebp - 0xb0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x459da2
fld qword [ebp - 0xb0]
fmul qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x459da2
fldz
fcomp qword [ebp - 0xb8]
fnstsw ax
test ah, 0x44
jp 0x459cec
jmp 0x459e07
fld qword [ebp - 0xb0]
fdiv qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x459da2
fld qword [ebp - 0xb8]
call fcn.004b7c46
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
fld qword [ebp - 0xb0]
call fcn.004b7c46
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
jne 0x459d44
jmp 0x459e07
mov eax, dword [ebp - 0xc8]
and eax, dword [ebp - 0xc4]
cmp eax, 0xffffffff
jne 0x459d69
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00422080
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], edx
fild qword [ebp - 0x164]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call fcn.004419c0
add esp, 8
test eax, eax
je 0x459dbc
jmp 0x459e07
mov edx, dword [ebp - 0xe4]
fld qword [ebp - 0xb0]
fstp qword [edx + 8]
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 8
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
and eax, 8
jne 0x459e02
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.004692d0
add esp, 4
jmp case.0x458e75.16
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004527e0
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], 0
jmp 0x459e96
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x84]
jge 0x459ef3
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xcc]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0xcc]
movzx eax, word [edx + 0x1c]
and eax, 0x1000
je 0x459ee2
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00452470
add esp, 4
test eax, eax
je 0x459ee2
jmp 0x46087e
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00458b10
add esp, 4
jmp 0x459e78
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x459f1d
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
jmp 0x459f3a
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, 1
mov word [ebp - 0xa4], dx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0xe4]
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.00458990
add esp, 8
movzx eax, word [ebp - 0xa4]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 3]
and edx, 8
je 0x459fb7
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x108]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x104]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x108], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0xc4], 0
je 0x45a03f
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.00452ce0
add esp, 8
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xf8]
mov byte [eax + 1], 0xf9
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x45a05e
lea eax, [ebp - 0xc0]
push eax
call fcn.004525c0
add esp, 4
jmp 0x46087e
cmp dword [ebp - 0x94], 0
je 0x45a098
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00456800
add esp, 4
push eax
push 0x510354
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0x10
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0xed]
push edx
lea eax, [ebp - 0xc0]
push eax
call fcn.00455970
add esp, 8
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.00458990
add esp, 8
mov eax, dword [ebp - 0xe4]
push eax
call fcn.00469570
add esp, 4
test eax, eax
je 0x45a0dd
jmp 0x46085a
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x45a159
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004527e0
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0xec]
push eax
call fcn.00456470
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00456470
add esp, 4
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xf8]
mov al, byte [edx]
mov byte [ebp - 0xb8], al
movzx ecx, byte [ebp - 0xb8]
cmp ecx, 0x52
jne 0x45a1d2
mov edx, dword [ebp - 0xd0]
and edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xcc]
and eax, dword [ebp - 0xbc]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x45a3d9
movzx ecx, byte [ebp - 0xb8]
cmp ecx, 0x53
jne 0x45a207
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xcc]
or eax, dword [ebp - 0xbc]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x45a3d9
mov ecx, dword [ebp - 0xc0]
or ecx, dword [ebp - 0xbc]
je 0x45a3d9
cmp dword [ebp - 0xbc], 0
jg 0x45a2a6
jl 0x45a231
cmp dword [ebp - 0xc0], 0
jae 0x45a2a6
movzx edx, byte [ebp - 0xb8]
mov eax, 0xa9
sub eax, edx
mov byte [ebp - 0xb8], al
cmp dword [ebp - 0xbc], 0xffffffff
jl 0x45a27a
jg 0x45a259
cmp dword [ebp - 0xc0], 0xffffffc0
jbe 0x45a27a
mov ecx, dword [ebp - 0xc0]
neg ecx
mov edx, dword [ebp - 0xbc]
adc edx, 0
neg edx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], edx
jmp 0x45a28e
mov dword [ebp - 0x16c], 0x40
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0
jl 0x45a308
jg 0x45a2ba
cmp dword [ebp - 0xc0], 0x40
jb 0x45a308
cmp dword [ebp - 0xcc], 0
jg 0x45a2e6
jl 0x45a2ce
cmp dword [ebp - 0xd0], 0
jae 0x45a2e6
movzx edx, byte [ebp - 0xb8]
cmp edx, 0x54
je 0x45a2e6
mov dword [ebp - 0x170], 0xffffffff
jmp 0x45a2f0
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x170]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x45a3d9
push 8
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.0041da10
add esp, 0xc
movzx edx, byte [ebp - 0xb8]
cmp edx, 0x54
jne 0x45a351
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
call fcn.004b7d70
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x45a3c1
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
call fcn.004b7d90
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xcc], 0
jg 0x45a3c1
jl 0x45a388
cmp dword [ebp - 0xd0], 0
jae 0x45a3c1
mov ecx, 0x40
sub ecx, dword [ebp - 0xc0]
mov eax, 0
sbb eax, dword [ebp - 0xbc]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004b7d70
or eax, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
push 8
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0xd0]
push edx
call fcn.0041da10
add esp, 0xc
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.00469360
add esp, 4
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
movzx edx, byte [ebp - 0xed]
push edx
push 0x63
mov eax, dword [ebp - 0x100]
push eax
call fcn.0046af90
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 4
jne 0x45a4d1
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 0
jne 0x45a4bd
mov dword [ebp - 8], 0x14
jmp 0x4608a9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x45a4ee
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x100]
mov word [edx + 0x1c], cx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 4
je 0x45a529
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004693a0
add esp, 4
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x45a55a
jmp case.0x458e75.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], ax
movzx edx, byte [ebp - 0xed]
push edx
push 0x61
mov eax, dword [ebp - 0x100]
push eax
call fcn.0046af90
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x45a5c2
mov eax, dword [ebp - 0x100]
push eax
call fcn.00452520
add esp, 4
mov dword [ebp - 0x174], eax
jmp 0x45a5cc
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbfe3
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], ax
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x45a61f
jmp case.0x458e75.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x45a666
movzx edx, byte [ebp - 0xed]
push edx
push 0x61
mov eax, dword [ebp - 0x100]
push eax
call fcn.0046af90
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 0x10
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
jmp 0x45a680
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffff10
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.004693d0
add esp, 4
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x45a6e7
mov edx, dword [ebp - 0x100]
push edx
call fcn.00469360
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x45a722
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004693a0
add esp, 4
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x100]
mov cx, word [eax + 0x1c]
mov word [ebp - 0xca], cx
mov edx, dword [ebp - 0xd4]
mov ax, word [edx + 0x1c]
mov word [ebp - 0xc8], ax
movzx ecx, word [ebp - 0xca]
movzx edx, word [ebp - 0xc8]
or ecx, edx
and ecx, 1
je 0x45a836
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x80
je 0x45a7c6
movzx edx, word [ebp - 0xca]
movzx eax, word [ebp - 0xc8]
and edx, eax
and edx, 1
neg edx
sbb edx, edx
add edx, 1
mov dword [ebp - 0xd0], edx
jmp 0x45a831
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x45a80b
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp 0x45a82c
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 8
je 0x45a82c
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
jmp 0x45a92c
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x67
mov byte [ebp - 0xcc], cl
movsx edx, byte [ebp - 0xcc]
test edx, edx
je 0x45a8a2
movzx eax, byte [ebp - 0xed]
push eax
movzx ecx, byte [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.0046af90
add esp, 0xc
movzx eax, byte [ebp - 0xed]
push eax
movzx ecx, byte [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0046af90
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x45a8a2
jmp 0x46087e
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x45a8ca
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x178], eax
jmp 0x45a8d4
mov dword [ebp - 0x178], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x45a8fc
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x17c], eax
jmp 0x45a906
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00469630
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x180]
sub edx, 0x4b
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x180], 4
ja case.default.0x45a959
mov eax, dword [ebp - 0x180]
jmp dword [eax*4 + 0x460b9c]
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
jmp 0x45a9d6
xor edx, edx
cmp dword [ebp - 0xd0], 0
setne dl
mov dword [ebp - 0xd0], edx
jmp 0x45a9d6
xor eax, eax
cmp dword [ebp - 0xd0], 0
setl al
mov dword [ebp - 0xd0], eax
jmp 0x45a9d6
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
setle cl
mov dword [ebp - 0xd0], ecx
jmp 0x45a9d6
xor edx, edx
cmp dword [ebp - 0xd0], 0
setg dl
mov dword [ebp - 0xd0], edx
jmp 0x45a9d6
xor eax, eax
cmp dword [ebp - 0xd0], 0
setge al
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x45aa2e
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x45aa49
cmp dword [ebp - 0xd0], 0
je 0x45aa49
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffff00
movzx eax, word [ebp - 0xca]
and eax, 0xff
or edx, eax
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], dx
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffff00
movzx ecx, word [ebp - 0xc8]
and ecx, 0xff
or eax, ecx
mov edx, dword [ebp - 0xd4]
mov word [edx + 0x1c], ax
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe8], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xcc], 0
jmp 0x45ab09
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x45abea
cmp dword [ebp - 0xe8], 0
je 0x45ab3b
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x184], edx
jmp 0x45ab47
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + edx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xcc]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc4]
add ecx, dword [ebp - 0xbc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0xc8]
add edx, dword [ebp - 0xbc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
push edx
call fcn.00469630
add esp, 0xc
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x45abe5
cmp dword [ebp - 0xb4], 0
je 0x45abe3
mov eax, dword [ebp - 0x10c]
neg eax
mov dword [ebp - 0x10c], eax
jmp 0x45abea
jmp 0x45aafa
mov dword [ebp - 0xe8], 0
jmp case.0x458e75.16
cmp dword [ebp - 0x10c], 0
jge 0x45ac16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x45ac45
cmp dword [ebp - 0x10c], 0
jne 0x45ac33
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x45ac45
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x45ac7d
mov dword [ebp - 0xd0], 2
jmp 0x45acc8
mov edx, dword [ebp - 0x100]
push edx
call fcn.00456470
add esp, 4
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x18c]
or eax, dword [ebp - 0x188]
je 0x45acb2
mov dword [ebp - 0x190], 1
jmp 0x45acbc
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x45acfb
mov dword [ebp - 0xcc], 2
jmp 0x45ad46
mov eax, dword [ebp - 0xec]
push eax
call fcn.00456470
add esp, 4
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x198]
or ecx, dword [ebp - 0x194]
je 0x45ad30
mov dword [ebp - 0x19c], 1
jmp 0x45ad3a
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x45
jne 0x45ad73
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x4e6cc0]
mov dword [ebp - 0xd0], ecx
jmp 0x45ad90
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x4e6ccc]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xd0], 2
jne 0x45add0
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 1
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp 0x45adff
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x45ae54
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004527e0
add esp, 4
jmp 0x45aeab
mov eax, dword [ebp - 0x100]
push eax
call fcn.00456470
add esp, 4
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], edx
mov ecx, dword [ebp - 0x1a4]
or ecx, dword [ebp - 0x1a0]
jne 0x45ae89
mov dword [ebp - 0x1a8], 1
jmp 0x45ae93
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a8]
cdq
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004569e0
add esp, 0xc
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x45af00
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004527e0
add esp, 4
jmp 0x45af24
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00456470
add esp, 4
not eax
not edx
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.004569e0
add esp, 0xc
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x45af61
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd0], edx
jmp 0x45afbf
mov eax, dword [ebp - 0x100]
push eax
call fcn.004563d0
add esp, 4
fcomp qword [0x4fee38]
fnstsw ax
test ah, 0x44
jnp 0x45af89
mov dword [ebp - 0x1ac], 1
jmp 0x45af93
mov dword [ebp - 0x1ac], 0
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x1b
jne 0x45afbf
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x45afda
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x45b018
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x45b056
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0
push 0x28
push 0
lea edx, [ebp - 0x90]
push edx
call fcn.0041de10
add esp, 0xc
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 1
mov ecx, dword [ebp - 0x94]
mov word [ecx + 0x1c], ax
mov dword [ebp - 0xb4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0
je 0x45b1bc
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00469ac0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45b121
jmp 0x4608a9
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x45b13b
mov dword [ebp - 0xd0], 0
jmp 0x45b1ba
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x54]
jne 0x45b16c
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0xb4], edx
jmp 0x45b1ba
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x45b1a1
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00451820
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], ecx
jmp 0x45b1ba
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00462c80
add esp, 8
mov dword [ebp - 8], eax
jmp 0x45b237
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x10], 0
jle 0x45b22d
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x45b210
mov dword [ebp - 0x1b0], 0
jmp 0x45b21c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x1b0]
mov dword [eax + 0x4c], ecx
jmp 0x45b237
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd0], 0
jne 0x45b245
jmp 0x45b78f
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x48]
jbe 0x45b258
jmp 0x46085a
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x54]
jne 0x45b29b
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0xa8], eax
jmp 0x45b5d6
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx*4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa8]
mov dword [ecx + 0x58], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x4c], ecx
cmp dword [ebp - 0xb4], 0
je 0x45b2fb
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x98], edx
jmp 0x45b372
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x45b324
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00462e30
add esp, 8
mov dword [ebp - 0x98], eax
jmp 0x45b33d
lea ecx, [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00462f30
add esp, 8
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x54]
ja 0x45b365
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x98]
mov dword [edx + 0x5c], eax
jmp 0x45b372
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x5c], 0
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x45b39a
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x1b4], 1
jmp 0x45b3b6
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.0044feb0
add esp, 8
movzx edx, al
mov dword [ebp - 0x1b4], edx
movzx eax, byte [ebp - 0x1b4]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x60], 0x18003
jbe 0x45b3de
push 0xfdf5
call fcn.004a5520
add esp, 4
mov dword [ebp - 8], eax
jmp 0x45b78f
mov ecx, dword [ebp - 0xa4]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0x60]
jle 0x45b404
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xb4], 0
jne 0x45b46c
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0xa0]
jge 0x45b46c
xor edx, edx
mov word [ebp - 0x74], dx
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x1f]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.00469970
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45b460
jmp 0x45b78f
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x9c], 0
jmp 0x45b4a2
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa4]
jge 0x45b583
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x64]
jae 0x45b56b
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x60]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x45b500
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x1b8], 1
jmp 0x45b525
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
lea ecx, [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.0044feb0
add esp, 8
movzx eax, al
mov dword [ebp - 0x1b8], eax
movzx ecx, byte [ebp - 0x1b8]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00469d90
add esp, 4
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
jae 0x45b569
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x68], ecx
jmp 0x45b583
jmp 0x45b57e
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
mov dword [eax + edx*4], 0
jmp 0x45b493
lea ecx, [ebp - 0x90]
push ecx
call fcn.004525c0
add esp, 4
mov edx, 1
mov word [ebp - 0x74], dx
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x64]
ja 0x45b5c1
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0xd0]
ja 0x45b5c1
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x64]
jne 0x45b5d6
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0xd0]
je 0x45b5d6
push 0xfe3f
call fcn.004a5520
add esp, 4
mov dword [ebp - 8], eax
jmp 0x45b78f
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xa8]
cmp dword [edx + ecx*4], 0
je 0x45b6fb
cmp dword [ebp - 0xb4], 0
je 0x45b63e
mov eax, dword [ebp - 0x94]
push eax
call fcn.00452610
add esp, 4
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb4]
add ecx, dword [eax + edx*4]
push ecx
call fcn.00469ef0
add esp, 0xc
jmp 0x45b6ea
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00469d90
add esp, 4
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x94]
push edx
lea eax, [ebp - 0x90]
push eax
call fcn.00458990
add esp, 8
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x1f]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00469970
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45b6b8
jmp 0x45b78f
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.00469ef0
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xed]
mov byte [eax + 0x1f], cl
jmp 0x45b728
mov edx, dword [ebp - 0xf8]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x45b728
push 0x800
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x94]
push eax
call fcn.004695c0
add esp, 0xc
cmp dword [ebp - 0x6c], 0
je 0x45b77d
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffe7ff
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x8c]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x94]
push edx
call fcn.00452470
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ecx]
mov byte [ebp - 0xcc], dl
movsx eax, byte [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
test eax, eax
je 0x45b848
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x45b80b
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x1bc], eax
jmp 0x45b815
mov dword [ebp - 0x1bc], 0
movzx edx, byte [ebp - 0xed]
push edx
movzx eax, byte [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0046af90
add esp, 0xc
mov edx, dword [ebp - 0x100]
add edx, 0x28
mov dword [ebp - 0x100], edx
jmp 0x45b7bb
jmp case.0x458e75.16
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x9c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x65]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
jmp 0x45b911
mov ecx, dword [ebp - 0xcc]
add ecx, 0x28
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xa0]
ja 0x45ba3f
cmp dword [ebp - 0x98], 0
je 0x45b962
movzx eax, byte [ebp - 0xed]
push eax
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xa4]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0046af90
add esp, 0xc
mov edx, dword [ebp - 0xcc]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x45b98e
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x18], 0
jle 0x45b98e
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00452520
add esp, 4
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00469c10
add esp, 8
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00469d90
add esp, 4
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
cdq
add eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
adc ecx, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xa8]
xor eax, eax
push eax
push edx
call fcn.00460d40
add esp, 8
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xcc]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x45ba27
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0xb0], ecx
jmp 0x45ba3a
cmp dword [ebp - 0x8c], 0
je 0x45ba3a
mov dword [ebp - 0xb0], 0
jmp 0x45b902
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.00460d40
add esp, 8
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xc0]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.00460d40
add esp, 8
cmp dword [ebp - 0xac], eax
jge 0x45ba90
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0xc8]
adc esi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x1c0]
jl 0x45baf4
jg 0x45baef
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0x1c4]
jbe 0x45baf4
jmp 0x46085a
push 0
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004522d0
add esp, 0xc
test eax, eax
je 0x45bb15
jmp 0x46087e
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xc0], 0x80
jae 0x45bb4a
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc0]
mov byte [eax], cl
mov dword [ebp - 0x1c8], 1
jmp 0x45bb66
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00460bb0
add esp, 8
mov dword [ebp - 0x1c8], eax
movzx ecx, byte [ebp - 0x1c8]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], edx
jmp 0x45bb90
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0xa0]
ja 0x45bc24
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00469c10
add esp, 8
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x80
jae 0x45bbea
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x90]
mov dl, byte [ebp - 0xa8]
mov byte [ecx], dl
mov dword [ebp - 0x1cc], 1
jmp 0x45bc0c
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x90]
push ecx
call fcn.00460bb0
add esp, 8
mov dword [ebp - 0x1cc], eax
movzx edx, byte [ebp - 0x1cc]
add edx, dword [ebp - 0x90]
mov dword [ebp - 0x90], edx
jmp 0x45bb81
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
jmp 0x45bc41
mov ecx, dword [ebp - 0xcc]
add ecx, 0x28
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xa0]
ja 0x45bc98
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov eax, dword [ebp - 0x90]
cdq
mov ecx, dword [ebp - 0xb8]
sub ecx, eax
mov eax, dword [ebp - 0xb4]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x90]
push ecx
call fcn.00469dc0
add esp, 0x10
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x45bc32
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x18], edx
mov ecx, 0x410
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0xb0], 0
je 0x45bcf5
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xb0]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1f], 1
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x45bd42
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00467c60
add esp, 8
mov dword [ebp - 8], eax
jmp 0x45bd56
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x14], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xd0], 0
jne 0x45bee2
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jle 0x45bdce
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x45bedd
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00441a00
add esp, 4
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e4]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1e0]
push eax
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.00475600
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45be12
jmp 0x4608a9
mov eax, dword [ebp - 0xc8]
add eax, 0x19
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0043fb40
add esp, 8
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x45bedd
mov edx, dword [ebp - 0xc4]
add edx, 0x18
mov eax, dword [ebp - 0xc4]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc8]
add ecx, 1
push ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
push ecx
call fcn.0041da10
add esp, 0xc
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x45be8c
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e8], 1
jmp 0x45bea1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e0]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e0], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1dc]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x1dc], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1f0]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1f4]
mov dword [edx + 0xc], eax
jmp 0x45c256
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1dc]
mov dword [ebp - 0xc0], edx
jmp 0x45bf0c
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
je 0x45bf42
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.00441a40
add esp, 8
test eax, eax
je 0x45bf42
mov edx, dword [ebp - 0xb8]
add edx, 1
mov dword [ebp - 0xb8], edx
jmp 0x45befd
cmp dword [ebp - 0xc0], 0
jne 0x45bf76
mov eax, dword [ebp - 0xcc]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004554b0
add esp, 0x10
mov dword [ebp - 8], 1
jmp 0x45c256
mov eax, dword [ebp - 4]
cmp dword [eax + 0x90], 0
jg 0x45bf97
cmp dword [ebp - 0xd0], 2
jne 0x45bfe1
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x45bfe1
cmp dword [ebp - 0xd0], 2
jne 0x45bfac
mov dword [ebp - 0x1d0], str.rollback
jmp 0x45bfb6
mov dword [ebp - 0x1d0], str.release
mov edx, dword [ebp - 0x1d0]
push edx
push str.cannot__s_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0x10
mov dword [ebp - 8], 5
jmp 0x45c256
mov edx, dword [ebp - 0xc0]
cmp dword [edx + 0x10], 0
jne 0x45c007
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e8]
test ecx, ecx
je 0x45c007
mov dword [ebp - 0x1d4], 1
jmp 0x45c011
mov dword [ebp - 0x1d4], 0
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x118], edx
cmp dword [ebp - 0x118], 0
je 0x45c0a3
cmp dword [ebp - 0xd0], 1
jne 0x45c0a3
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00455420
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45c04b
jmp 0x460831
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp + 8]
push edx
call fcn.00453080
add esp, 4
cmp eax, 5
jne 0x45c08b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x1c], 0
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
jmp 0x460831
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 8], ecx
jmp 0x45c160
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
sub eax, dword [ebp - 0xb8]
sub eax, 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0
jmp 0x45c0d6
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [edx + 4]
jge 0x45c11e
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xb4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00455360
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45c11c
jmp 0x4608a9
jmp 0x45c0c7
cmp dword [ebp - 0xd0], 2
jne 0x45c160
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
and edx, 0x200
je 0x45c160
mov eax, dword [ebp - 4]
push eax
call fcn.0046a8a0
add esp, 4
push 0xffffffffffffffff
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046e520
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
or eax, 0x200
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1dc]
cmp eax, dword [ebp - 0xc0]
je 0x45c1bc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1dc]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1dc], edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0043f820
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1e0], eax
jmp 0x45c160
cmp dword [ebp - 0xd0], 1
jne 0x45c20a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x1dc], ecx
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043f820
add esp, 8
cmp dword [ebp - 0x118], 0
jne 0x45c208
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1e0]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1e0], edx
jmp 0x45c225
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 8]
mov dword [ecx + 0x1f0], eax
mov edx, dword [edx + 0xc]
mov dword [ecx + 0x1f4], edx
cmp dword [ebp - 0x118], 0
jne 0x45c256
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00475600
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45c256
jmp 0x4608a9
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xd0], 0
je 0x45c299
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
jne 0x45c299
mov dword [ebp - 0x1d8], 1
jmp 0x45c2a3
mov dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x45c2f1
cmp dword [ebp - 0xcc], 0
je 0x45c2f1
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x45c2f1
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x45c45e
cmp dword [ebp - 0xc8], 0
je 0x45c333
cmp dword [ebp - 0xcc], 0
jne 0x45c333
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jle 0x45c333
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x45c45e
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1c]
cmp dword [ebp - 0xd0], edx
je 0x45c3fd
cmp dword [ebp - 0xcc], 0
je 0x45c364
mov eax, dword [ebp - 4]
push eax
call fcn.004a32f0
add esp, 4
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 1
jmp 0x45c3d1
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.00455420
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45c382
jmp 0x460831
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0xd0]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp + 8]
push edx
call fcn.00453080
add esp, 4
cmp eax, 5
jne 0x45c3d1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x58], ecx
mov edx, 1
sub edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], dl
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x5c], edx
jmp 0x460831
mov eax, dword [ebp - 4]
push eax
call fcn.004a2e00
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5c], 0
jne 0x45c3ef
mov dword [ebp - 8], 0x65
jmp 0x45c3f6
mov dword [ebp - 8], 1
jmp 0x460831
cmp dword [ebp - 0xd0], 0
jne 0x45c412
mov dword [ebp - 0x1dc], str.cannot_start_a_transaction_within_a_transaction
jmp 0x45c43d
cmp dword [ebp - 0xcc], 0
je 0x45c427
mov dword [ebp - 0x1e0], str.cannot_rollback___no_transaction_is_active
jmp 0x45c431
mov dword [ebp - 0x1e0], str.cannot_commit___no_transaction_is_active
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x45c5a2
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0044cfd0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x45c4cf
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x58], eax
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x5c], edx
jmp 0x460831
cmp dword [ebp - 8], 0
je 0x45c4da
jmp 0x4608a9
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 0
je 0x45c5a2
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x67]
test edx, edx
je 0x45c5a2
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x45c514
mov edx, dword [ebp - 4]
cmp dword [edx + 0x8c], 1
jle 0x45c5a2
mov eax, dword [ebp + 8]
cmp dword [eax + 0x78], 0
jne 0x45c54a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1e4]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1e4], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x1e4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x78], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x78]
sub eax, 1
push eax
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.00475600
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45c584
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00462ab0
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1f0]
mov dword [edx + 0x98], ecx
mov eax, dword [eax + 0x1f4]
mov dword [edx + 0x9c], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00450f20
add esp, 0xc
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00469360
add esp, 4
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
push ecx
call fcn.00450f70
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 1
jne 0x45c6a3
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
or edx, 0x200
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x45c6c4
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 8], 2
jne 0x45c6c4
mov edx, dword [ebp - 0xd4]
mov al, byte [edx + 0x10]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 1
jne 0x45c6e3
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046a8a0
add esp, 4
mov edx, dword [ebp + 8]
mov byte [edx + 0x63], 0
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
je 0x45c746
lea edx, [ebp - 0xd0]
push edx
push 1
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00450f20
add esp, 0xc
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0xcc], eax
jmp 0x45c75c
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 8]
jne 0x45c77e
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ecx + 0xc]
je 0x45c7ec
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0043f820
add esp, 8
push 0x5104e8
mov eax, dword [ebp - 4]
push eax
call fcn.00456e10
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xd0]
je 0x45c7de
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046e520
add esp, 8
mov edx, dword [ebp + 8]
mov byte [edx + 0x63], 1
mov dword [ebp - 8], 0x11
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x63]
test ecx, ecx
je 0x45c808
mov dword [ebp - 8], 4
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
cmp edx, 0x27
jne 0x45c8a2
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x65]
cmp edx, ecx
jge 0x45c8a0
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x4c]
mov byte [ecx + 0x65], dl
jmp 0x45c8ac
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x45c90b
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.00469360
add esp, 4
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 2
jge 0x45c90b
push 0x10155
call fcn.004a5520
add esp, 4
mov dword [ebp - 8], eax
jmp 0x4608a9
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x45c955
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xcc]
mov al, byte [ecx + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xcc]
movzx edx, word [ecx + 6]
add edx, 1
mov dword [ebp - 0xd0], edx
jmp 0x45c973
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x45c973
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd0], eax
push 1
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0046ae40
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x45c9ad
jmp 0x46087e
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x20], 1
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.00462b00
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 8], eax
cmp dword [ebp - 8], 0x10
jne 0x45ca19
mov ecx, dword [ebp - 0xb8]
mov dword [ecx], 0
mov dword [ebp - 8], 0
mov edx, dword [ebp - 0xf8]
movsx eax, byte [edx + 1]
xor ecx, ecx
cmp eax, 0xfffffffa
setne cl
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1e]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x1f], cl
jmp case.0x458e75.16
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046ae40
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x45ca8b
jmp 0x46087e
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1c], 1
mov eax, dword [0x4e6cd8]
push eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
or edx, 9
push edx
mov eax, dword [ebp - 0xd0]
add eax, 4
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call fcn.00461930
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45cae7
push 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push edx
call fcn.0044cfd0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45cbbc
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x45cb8e
push 2
lea ecx, [ebp - 0x11c]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 4]
push eax
call fcn.004674a0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45cb82
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
push 1
mov edx, dword [ebp - 0x11c]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
push ecx
call fcn.00462b00
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 0
jmp 0x45cbbc
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
push 0
push 1
push 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
push ecx
call fcn.00462b00
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
xor edx, edx
cmp ecx, 0x10
setne dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x20], dl
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x1e]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], dl
jmp case.0x458e75.16
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0046ae40
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x45cc2e
jmp 0x46087e
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1f], 0
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004537a0
add esp, 8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov dword [eax + ecx*4], 0
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
je 0x45d103
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x45cf3f
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00458b70
add esp, 4
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00456470
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 4
jne 0x45ced7
mov ecx, dword [ebp - 0xd4]
movzx edx, word [ecx + 0x1c]
and edx, 8
jne 0x45cd74
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
cmp dword [ebp - 0xa0], 0
jne 0x45ce5b
cmp dword [ebp - 0x9c], 0x80000000
jne 0x45ce5b
fild qword [ebp - 0xa0]
mov edx, dword [ebp - 0xd4]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
je 0x45cdbd
mov eax, dword [ebp - 0xd4]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x45ce5b
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 0xd4]
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x45ce0a
cmp dword [ebp - 0xcc], 0x2e
jl 0x45ce08
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00462f70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45ce08
jmp 0x4608a9
jmp 0x45ce39
cmp dword [ebp - 0xcc], 0x2d
jg 0x45ce39
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004633a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45ce39
jmp 0x4608a9
cmp dword [ebp - 0xd0], 0
je 0x45ce54
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
cmp dword [ebp - 0xcc], 0x2c
je 0x45ce6d
cmp dword [ebp - 0xcc], 0x2e
jne 0x45cea3
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x45cea1
mov edx, dword [ebp - 0xa0]
add edx, 1
mov eax, dword [ebp - 0x9c]
adc eax, 0
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], eax
jmp 0x45ced7
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x45ced7
mov edx, dword [ebp - 0xa0]
sub edx, 1
mov eax, dword [ebp - 0x9c]
sbb eax, 0
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], eax
lea ecx, [ebp - 0xd0]
push ecx
push 0
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45cf0f
jmp 0x4608a9
cmp dword [ebp - 0xd0], 0
jne 0x45cf3a
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xa0]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 0x44], eax
jmp 0x45d009
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
mov dx, word [ebp - 0xa8]
mov word [ebp - 0xbc], dx
mov eax, dword [ebp - 0xcc]
sub eax, 0x2c
and eax, 1
shl eax, 3
mov word [ebp - 0xba], ax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb0]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x45cfc2
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00452520
add esp, 4
mov dword [ebp - 0x1e4], eax
jmp 0x45cfcc
mov dword [ebp - 0x1e4], 0
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45cfff
jmp 0x4608a9
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
cmp dword [ebp - 0xcc], 0x2e
jl 0x45d082
cmp dword [ebp - 0xd0], 0
jl 0x45d044
cmp dword [ebp - 0xd0], 0
jne 0x45d076
cmp dword [ebp - 0xcc], 0x2f
jne 0x45d076
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.00463a10
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45d06a
jmp 0x4608a9
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
jmp 0x45d080
mov dword [ebp - 0xd0], 0
jmp 0x45d0e6
cmp dword [ebp - 0xd0], 0
jg 0x45d09d
cmp dword [ebp - 0xd0], 0
jne 0x45d0cf
cmp dword [ebp - 0xcc], 0x2c
jne 0x45d0cf
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00463c70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45d0c3
jmp 0x4608a9
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
jmp 0x45d0e6
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.004639f0
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x45d101
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x45d115
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
je 0x45d18e
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.00456470
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 1
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xcc]
cmp dword [edx], 0
je 0x45d302
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
jle 0x45d22e
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xbc], cx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], edx
mov eax, 0x10
mov word [ebp - 0xba], ax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
jmp 0x45d28b
push 0x97
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 8]
push edx
call fcn.0046a210
add esp, 0x14
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x45d274
jmp 0x46087e
mov eax, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
or ecx, 0x10
mov edx, dword [ebp - 0xc4]
mov word [edx + 6], cx
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
push eax
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
jne 0x45d2ce
mov edx, dword [ebp - 0xc4]
push edx
call fcn.0046a3f0
add esp, 4
cmp dword [ebp - 8], 0
je 0x45d2d9
jmp case.0x458e75.16
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x4c], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x32
jne 0x45d32d
cmp dword [ebp - 0xd0], 0
je 0x45d32b
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x45d348
cmp dword [ebp - 0xd0], 0
jne 0x45d348
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x48], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 8]
mov ax, word [edx + 6]
mov word [ebp - 0xc4], ax
xor ecx, ecx
mov word [ebp - 0xd0], cx
jmp 0x45d3ee
mov dx, word [ebp - 0xd0]
add dx, 1
mov word [ebp - 0xd0], dx
movzx eax, word [ebp - 0xd0]
movzx ecx, word [ebp - 0xc4]
cmp eax, ecx
jge 0x45d43a
movzx edx, word [ebp - 0xd0]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xc0]
movzx ecx, word [eax + edx + 0x1c]
and ecx, 1
je 0x45d438
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xc8], 0
jmp 0x45d43a
jmp 0x45d3dc
cmp dword [ebp - 0xc8], 0
je 0x45d523
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
movzx eax, word [ebp - 0xc4]
add eax, 1
mov word [ebp - 0xb4], ax
mov ecx, 0x20
mov word [ebp - 0xb2], cx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00469360
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x48
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
movzx ecx, word [ebp - 0xb2]
and ecx, 0x20
jne 0x45d4f7
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa0]
jne 0x45d50b
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
jne 0x45d50b
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x45d523
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xb0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xac]
mov dword [eax + 0x14], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x45d63a
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0xc8]
push eax
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [edx + 0x14]
mov dword [ecx + 0x44], edx
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], al
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1c], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1d], 0
cmp dword [ebp - 0xc8], 0
je 0x45d629
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x48], edx
jmp 0x45d659
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x48], 0
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov ecx, dword [ecx + 0x34]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [eax + 0x34]
adc edx, 0
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x44]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
jne 0x45d703
jmp 0x45db14
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x1b]
test edx, edx
jne 0x45d98e
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00462c70
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x45d7e3
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004633a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45d76a
jmp 0x4608a9
cmp dword [ebp - 0xc4], 0
je 0x45d789
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], 0
jmp 0x45d7e3
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.00451820
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0xffffffff
jne 0x45d7c5
cmp dword [ebp - 0xcc], 0x7fffffff
jne 0x45d7c5
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1b], 1
jmp 0x45d7e3
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov edx, dword [ebp - 0xcc]
adc edx, 0
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
je 0x45d924
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa8], 0
je 0x45d84a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0xb8], eax
jmp 0x45d81f
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x3c], 0
je 0x45d82d
jmp 0x45d810
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xb8]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xbc], edx
jmp 0x45d862
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00469360
add esp, 4
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x1e8]
cmp dword [edx + 0x10], 0xffffffff
jne 0x45d898
mov eax, dword [ebp - 0x1e8]
cmp dword [eax + 0x14], 0x7fffffff
je 0x45d8a6
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x1b]
test edx, edx
je 0x45d8b2
mov dword [ebp - 8], 0xd
jmp 0x4608a9
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [eax + 0x14]
adc edx, 0
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x1ec]
jg 0x45d90c
jl 0x45d8ee
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x1f0]
jae 0x45d90c
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x10]
add eax, 1
mov ecx, dword [edx + 0x14]
adc ecx, 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
cmp dword [ebp - 0xcc], 0x7fffffff
jg 0x45d95b
jl 0x45d93b
cmp dword [ebp - 0xd0], 0xffffffff
jae 0x45d95b
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1f4], eax
jmp 0x45d96f
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov ecx, dword [ebp - 0x1f4]
push ecx
mov edx, dword [ebp - 0x1f8]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00462c20
add esp, 0xc
mov edx, dword [ebp - 0xc8]
movzx eax, byte [edx + 0x1b]
test eax, eax
je 0x45daf3
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0xc4]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45dad8
cmp dword [ebp - 0xc4], 0
jne 0x45dad8
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x64
jge 0x45dad8
lea ecx, [ebp - 0xd0]
push ecx
push 8
call fcn.004417c0
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x45da97
mov edx, dword [ebp - 0xd0]
and edx, 0xffffff
mov eax, dword [ebp - 0xcc]
and eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x45dab5
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
and edx, 0x3fffffff
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov ecx, dword [ebp - 0xcc]
adc ecx, 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
jmp 0x45d9fe
cmp dword [ebp - 8], 0
jne 0x45daf3
cmp dword [ebp - 0xc4], 0
jne 0x45daf3
mov dword [ebp - 8], 0xd
jmp 0x4608a9
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x37
jne 0x45dba1
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc4], eax
jmp 0x45dbb7
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 1
je 0x45dbd5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], edx
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 2
je 0x45dc11
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x108]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x104]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x45dc3a
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x45dc5a
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x1fc], eax
jmp 0x45dc64
mov dword [ebp - 0x1fc], 0
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x45dc92
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xbc], edx
jmp 0x45dc9c
mov dword [ebp - 0xbc], 0
push 0
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.00462c20
add esp, 0xc
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 8
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.00463e80
add esp, 0x24
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x4c], 0
cmp dword [ebp - 8], 0
jne 0x45ddd2
mov edx, dword [ebp - 4]
cmp dword [edx + 0xbc], 0
je 0x45ddd2
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x45ddd2
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xbc]
call eax
add esp, 0x18
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xbc], 0
je 0x45de33
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
je 0x45de33
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx + 0x44]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00469ac0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45de50
jmp 0x4608a9
push 0
push 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00462c20
add esp, 0xc
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.00467150
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
cmp dword [ebp - 8], 0
jne 0x45df04
mov edx, dword [ebp - 4]
cmp dword [edx + 0xbc], 0
je 0x45df04
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x45df04
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0x120]
push edx
push 9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xbc]
call eax
add esp, 0x18
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
and edx, 1
je 0x45df21
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00455580
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00469ac0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45dfa3
jmp 0x4608a9
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x1f]
test eax, eax
je 0x45e00e
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00451820
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], edx
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [ebp - 0x200]
jl 0x45e000
jg 0x45dffb
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0x204]
jbe 0x45e000
jmp 0x46085a
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x45e03a
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00462c80
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [eax + 0x48]
jbe 0x45e03a
jmp 0x46085a
push 0
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004522d0
add esp, 0xc
test eax, eax
je 0x45e05b
jmp 0x46087e
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x45e0bc
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00451920
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x45e0e1
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00462ca0
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1f], 1
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x45e12f
mov eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x458e75.16
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x1d]
test eax, eax
je 0x45e15a
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc4], eax
jmp 0x45e21c
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x24], 0
je 0x45e1bc
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x30]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b010
add esp, 8
jmp 0x45e21c
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00469ac0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45e1d9
jmp 0x4608a9
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x45e201
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 0x44]
mov dword [ebp - 0xc4], ecx
jmp 0x45e21c
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.00451820
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x14], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd0]
cmp dword [eax], 0
je 0x45e281
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.004517f0
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x45e2c1
mov dword [ebp - 0xc8], 1
jmp 0x45e2da
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004633a0
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
jle 0x45e331
cmp dword [ebp - 0xc8], 0
je 0x45e331
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x45e3d3
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00462f70
add esp, 8
mov dword [ebp - 8], eax
xor edx, edx
cmp dword [ebp - 0xc8], 0
sete dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1a], dl
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x4c], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], dl
cmp dword [ebp - 0xc8], 0
je 0x45e3fd
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 4]
cmp dword [edx + 0xe0], 0
je 0x45e413
jmp 0x4608ee
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
jne 0x45e439
jmp case.0x458e75.16
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x45e45f
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], 1
jmp case.0x458e75.16
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x43
jne 0x45e495
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00463a10
add esp, 8
mov dword [ebp - 0x208], eax
jmp 0x45e4b1
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00463c70
add esp, 8
mov dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x208]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x4c], 0
cmp dword [ebp - 0xc8], 0
jne 0x45e524
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x45e524
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0x78]
add ecx, 1
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0x78], ecx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x45e655
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x45e5a7
mov eax, dword [ebp - 0xec]
push eax
call fcn.00452520
add esp, 4
mov dword [ebp - 0x20c], eax
jmp 0x45e5b1
mov dword [ebp - 0x20c], 0
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
jne 0x45e655
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x45e602
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x210], eax
jmp 0x45e60c
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x51940f
mov eax, dword [ebp - 0xc8]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00463e80
add esp, 0x24
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4c], 0
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
je 0x45e722
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xf8]
mov dx, word [ecx + 0xc]
mov word [ebp - 0xbc], dx
xor eax, eax
mov word [ebp - 0xba], ax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004634e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45e715
cmp dword [ebp - 0xc8], 0
jne 0x45e715
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00467150
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4c], 0
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je 0x45e7df
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00469ac0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45e782
jmp 0x4608a9
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x45e7df
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046a650
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45e7b8
jmp 0x4608a9
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x14], ecx
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
cmp dword [eax], 0
je 0x45e8d3
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xc4], cx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x45e847
mov ecx, 0xc
mov word [ebp - 0xc2], cx
jmp 0x45e853
mov edx, 4
mov word [ebp - 0xc2], dx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xb8], ecx
lea edx, [ebp - 0xcc]
push edx
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0046a7d0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x51
jne 0x45e8a9
mov ecx, dword [ebp - 0xcc]
neg ecx
mov dword [ebp - 0xcc], ecx
jmp 0x45e8b8
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jle 0x45e8d3
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x88]
mov dword [ebp - 0xc8], eax
jmp 0x45e902
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x45e946
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x45e944
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x66]
cmp edx, 2
jge 0x45e944
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x58], 0
jl 0x45e944
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x45e8f3
mov edx, 1
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xcc], 1
jle 0x45e971
mov dword [ebp - 8], 6
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x60], 2
jmp 0x45ea14
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xc4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004679e0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
cmp dword [ebp - 8], 0
jne 0x45ea14
cmp dword [ebp - 0xd0], 0
je 0x45ea14
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0046ebd0
add esp, 0x10
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov byte [ebp - 0xee], cl
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xd0]
and eax, ecx
push eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00467790
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
je 0x45eacc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
add edx, dword [ebp - 0xd0]
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], edx
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0xc], 0
jle 0x45eacc
mov edx, dword [ebp - 0xf8]
mov ecx, dword [edx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0xd0]
cdq
mov esi, dword [ebp - 0xfc]
add eax, dword [esi + ecx + 0x10]
mov ecx, dword [esi + ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0xfc]
mov dword [esi + edx + 0x10], eax
mov dword [esi + edx + 0x14], ecx
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x62
jne 0x45eb0d
mov dword [ebp - 0xcc], 1
jmp 0x45eb17
mov dword [ebp - 0xcc], 2
mov edx, dword [ebp - 0xcc]
push edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 4]
push edx
call fcn.004674a0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, 1
test ecx, ecx
je 0x45eb7f
cmp dword [ebp - 0xd0], 1
jne 0x45eb7f
mov dword [ebp - 0x214], 0x510504
jmp 0x45eb89
mov dword [ebp - 0x214], 0x510518
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp + 8]
add eax, 0x38
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx]
push ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov edx, dword [ebp - 4]
push edx
call fcn.00455090
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x45ec06
mov dword [ebp - 8], 7
jmp 0x45ec64
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 1
mov dword [ebp - 0xb8], 0
push 0
lea ecx, [ebp - 0xc4]
push ecx
push fcn.00471f00
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00471540
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45ec4a
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043f820
add esp, 8
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x7c], 0
cmp dword [ebp - 8], 7
jne 0x45ec6f
jmp 0x46087e
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046d070
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0046eac0
add esp, 0xc
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0046df90
add esp, 0xc
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00473ee0
add esp, 0xc
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx*4 + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043fb40
add esp, 8
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x45ed3e
jmp 0x46087e
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xc8], 0
jmp 0x45ed89
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0xd0]
jge 0x45edc0
mov ecx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x100]
push ecx
call fcn.00456470
add esp, 4
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
jmp 0x45ed7a
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov dword [eax + edx*4], 0
lea ecx, [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00467e20
add esp, 0x14
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043f820
add esp, 8
mov eax, dword [ebp - 0xc4]
cdq
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ecx + 0x10]
sub esi, eax
mov eax, dword [ecx + 0x14]
sbb eax, edx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0x100]
push edx
call fcn.004527e0
add esp, 4
cmp dword [ebp - 0xc4], 0
jne 0x45ee68
jmp 0x45ee97
cmp dword [ebp - 0xc0], 0
jne 0x45ee78
jmp 0x46087e
push fcn.0043f7a0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00451f90
add esp, 0x14
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.00455970
add esp, 8
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x45ef15
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00469470
add esp, 4
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x45ef15
jmp 0x46087e
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ecx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00461040
add esp, 0xc
jmp case.0x458e75.16
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x45ef4b
jmp 0x4608ee
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x45ef8f
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00461140
add esp, 8
test eax, eax
jne 0x45efb2
mov edx, dword [ebp - 0x100]
push edx
call fcn.004527e0
add esp, 4
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x45efdb
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
push edx
call fcn.004569e0
add esp, 0xc
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x45f051
mov edx, dword [ebp - 0x100]
push edx
call fcn.00469470
add esp, 4
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x45f051
jmp 0x46087e
cmp dword [ebp - 0xd0], 0
je 0x45f0cc
cmp dword [ebp - 0xd0], 0
jl 0x45f074
mov edx, dword [ebp - 0xd0]
and edx, 0xf
mov dword [ebp - 0x218], edx
jmp 0x45f07e
mov dword [ebp - 0x218], 0xff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 0x10]
push edx
movzx eax, byte [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004614b0
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x45f0cc
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x458e75.16
cmp dword [ebp - 0xd0], 0
jl 0x45f0f5
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [edx + 0x10]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
push eax
call fcn.00461040
add esp, 0xc
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x45f188
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0xbc], ecx
jmp 0x45f15e
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x45f17a
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0xb4]
je 0x45f17a
jmp 0x45f14f
cmp dword [ebp - 0xbc], 0
je 0x45f188
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0xb0]
cmp edx, dword [ecx + 0x70]
jl 0x45f1bd
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0xc
jmp case.0x458e75.16
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0x40
jne 0x45f369
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xb8]
add edx, dword [eax + 0xc]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4 + 0x40]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00445ca0
add esp, 8
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x45f22b
jmp 0x46087e
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004525c0
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x32]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x24]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xbc]
lea eax, [edx + ecx + 0x40]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x40
mov dword [ebp - 0xc4], ecx
jmp 0x45f33d
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xc0]
je 0x45f367
mov ecx, 1
mov edx, dword [ebp - 0xc4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x45f32e
jmp 0x45f378
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x108]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0xa8], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x18
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x24]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xbc]
mov ax, word [edx + 0x28]
mov word [ecx + 0x32], ax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
add edx, 1
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
mov dword [edx + 0x1c], ecx
mov dword [ebp - 0xd8], 0xffffffff
jmp case.0x458e75.16
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
add eax, dword [ecx + edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xd0]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xcc], eax
push 0x1000
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.004695c0
add esp, 0xc
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
je 0x45f505
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1f0]
mov ecx, dword [ecx + 0x1f4]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1f0], eax
mov dword [edx + 0x1f4], ecx
jmp 0x45f52f
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x90]
mov ecx, dword [ecx + 0x94]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x90], eax
mov dword [edx + 0x94], ecx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x45f577
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [edx + 0x1f0]
or ecx, dword [eax + 0x1f4]
jne 0x45f575
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x45f5ac
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
mov ecx, dword [edx + 0x90]
or ecx, dword [eax + 0x94]
jne 0x45f5ac
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa8], 0
je 0x45f608
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0xcc], eax
jmp 0x45f5dd
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x3c], 0
je 0x45f5eb
jmp 0x45f5ce
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xcc]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xd0], edx
jmp 0x45f620
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00469360
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.00469360
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x228]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 0x14]
jg 0x45f6b0
jl 0x45f698
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x228]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jae 0x45f6b0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x14], ecx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x22c]
cmp dword [edx + 0x14], 0
jl 0x45f705
jg 0x45f6f3
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0x10], 0
jbe 0x45f705
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
cmp dword [eax + 0x14], 0
jg 0x45f75a
jl 0x45f748
mov ecx, dword [ebp - 0x230]
cmp dword [ecx + 0x10], 0
jae 0x45f75a
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x10]
or eax, dword [edx + 0x14]
jne 0x45f7cd
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xcc], 0
jmp 0x45f82d
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 0x28
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x45f85e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.00458b10
add esp, 4
jmp 0x45f80f
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x18], ecx
mov eax, 1
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 3]
and eax, 8
je 0x45f90b
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
lea edx, [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
cmp dword [ebp - 0x8c], 0
je 0x45f965
lea edx, [ebp - 0xb8]
push edx
call fcn.00456800
add esp, 4
push eax
push 0x510590
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0x10
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 8], edx
lea eax, [ebp - 0xb8]
push eax
call fcn.004525c0
add esp, 4
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00452750
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45f9db
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00456800
add esp, 4
push eax
push 0x510594
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004554b0
add esp, 0x10
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00455970
add esp, 8
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00469570
add esp, 4
test eax, eax
je 0x45fa0a
jmp 0x46085a
jmp case.0x458e75.16
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0xffffffff
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xc4]
push ecx
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a3ea0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x45fa77
mov dword [ebp - 8], 0
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], eax
jmp 0x45fab9
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xc0]
add edx, 0x28
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xd0], 3
jge 0x45fae3
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.004569e0
add esp, 0xc
jmp 0x45fa9b
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00445900
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0044b120
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc8], 0xffffffff
jne 0x45fb52
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00461800
add esp, 4
test eax, eax
jne 0x45fb71
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00455140
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc8], 5
jne 0x45fbbb
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x45fbaf
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0044e280
add esp, 4
test eax, eax
jne 0x45fbbb
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xc4]
je 0x45fcc1
cmp dword [ebp - 0xc4], 5
je 0x45fbe3
cmp dword [ebp - 0xc8], 5
jne 0x45fcc1
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x45fbfa
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x45fc46
mov dword [ebp - 8], 1
cmp dword [ebp - 0xc8], 5
jne 0x45fc16
mov dword [ebp - 0x238], str.into
jmp 0x45fc20
mov dword [ebp - 0x238], str.out_of
mov edx, dword [ebp - 0x238]
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0x10
jmp case.0x458e75.16
cmp dword [ebp - 0xc4], 5
jne 0x45fc7f
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00461850
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x45fc7d
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004616b0
add esp, 8
jmp 0x45fc99
cmp dword [ebp - 0xc4], 4
jne 0x45fc99
push 2
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004616b0
add esp, 8
cmp dword [ebp - 8], 0
jne 0x45fcc1
xor eax, eax
cmp dword [ebp - 0xc8], 5
sete al
add eax, 1
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00469220
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45fcd3
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004616b0
add esp, 8
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, 0xa02
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00471ee0
add esp, 4
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
push eax
call fcn.00441a00
add esp, 4
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0xe4]
mov byte [edx + 0x1f], 1
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00455970
add esp, 8
jmp case.0x458e75.16
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00473fe0
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00462a00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x45fdd7
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
mov dword [ebp - 8], 0
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
jne 0x45fdf6
mov ecx, dword [ebp - 4]
push ecx
call fcn.0046a8a0
add esp, 4
jmp 0x45fdfd
mov edx, dword [ebp + 8]
mov byte [edx + 0x63], 1
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x125], cl
movzx edx, byte [ebp - 0x125]
test edx, edx
jne 0x45fe2a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
and ecx, 0x80000
jne 0x45fea6
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x12c], eax
movzx ecx, byte [ebp - 0x125]
push ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x12c]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004690e0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 6
jne 0x45fea6
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x130]
push edx
push str.database_table_is_locked:__s
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0x10
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00475520
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0
je 0x45feef
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0046b010
add esp, 8
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00474b40
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x458e75.16
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 2
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004752c0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x66], 0
jmp case.0x458e75.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0046b010
add esp, 8
cmp dword [ebp - 8], 0
jne 0x46003e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046ae40
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x460022
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax + 0x28], ecx
jmp 0x46003e
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], 0
jmp 0x4600fc
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xd0]
jge 0x460145
mov ecx, dword [ebp - 0xac]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + ecx*4]
push eax
call fcn.00458b10
add esp, 4
jmp 0x4600ed
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x66], 1
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x20]
call eax
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x66], 0
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0046b010
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4601be
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x4601d9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x1c], 0
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x134]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x46023a
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004527e0
add esp, 4
jmp case.0x458e75.16
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
push 0x40
push 0
lea ecx, [ebp - 0xc0]
push ecx
call fcn.0041de10
add esp, 0xc
mov edx, dword [ebp - 0xc8]
push edx
lea eax, [ebp - 0xb8]
push eax
call fcn.00458990
add esp, 8
movzx ecx, word [ebp - 0x9c]
and ecx, 0xffffbf00
or ecx, 1
mov word [ebp - 0x9c], cx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x2c]
call edx
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b010
add esp, 8
cmp dword [ebp - 0x8c], 0
je 0x4602ea
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 8], edx
movzx eax, byte [ebp - 0xed]
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00455970
add esp, 8
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00458990
add esp, 8
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00469570
add esp, 4
test eax, eax
je 0x46032f
jmp 0x46085a
jmp case.0x458e75.16
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x460369
jmp case.0x458e75.16
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp + 8]
mov byte [edx + 0x66], 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x66], 0
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0046b010
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4603e8
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x460403
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x458e75.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b010
add esp, 8
mov edx, dword [ebp + 8]
mov byte [edx + 0x63], 0
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x34], 0
je 0x460653
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x22]
mov byte [ebp - 0x135], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], 0
jmp 0x4604ff
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xc8]
jge 0x460542
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00458b10
add esp, 4
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0xb4]
add edx, 0x28
mov dword [ebp - 0xb4], edx
jmp 0x4604f0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + 3]
mov byte [eax + 0x22], dl
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x135]
mov byte [eax + 0x22], cl
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0046b010
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4605dc
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
je 0x4605dc
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x108]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 8], 0x13
jne 0x460644
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x460644
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
cmp edx, 4
jne 0x46060b
mov dword [ebp - 8], 0
jmp 0x460642
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
cmp ecx, 5
jne 0x460626
mov dword [ebp - 0x23c], 2
jmp 0x460636
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x23c]
mov byte [ecx + 0x60], dl
jmp 0x460653
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
jmp case.0x458e75.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.0044cfa0
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x458e75.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0xc], 0
je 0x4606f1
mov edx, dword [ebp - 0x13c]
push edx
call fcn.0044cfa0
add esp, 4
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [eax + 0xc]
jae 0x4606f1
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call fcn.004629a0
add esp, 8
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x458e75.16
mov edx, dword [ebp - 4]
cmp dword [edx + 0x98], 0
je case.0x458e75.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x460746
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x240], edx
jmp 0x460755
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0
je case.0x458e75.16
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046a8d0
add esp, 8
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x98]
call eax
add esp, 8
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0043f820
add esp, 8
jmp 0x458d58
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa0]
push edx
mov eax, dword [ebp - 0xd8]
push eax
push str.statement_aborts_at__d:___s___s
mov ecx, dword [ebp - 8]
push ecx
call fcn.00441700
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.00453080
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x460808
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
mov dword [ebp - 8], 1
movzx ecx, byte [ebp - 0xee]
test ecx, ecx
jle 0x460831
movzx edx, byte [ebp - 0xee]
sub edx, 1
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0046e520
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x108]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00453560
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x460928
push 0x51061c
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x4607ba
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1e], 1
push 0x510634
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.004554b0
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x4607ba
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4608bb
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x4608e9
mov eax, dword [ebp - 8]
push eax
call fcn.004a3410
add esp, 4
push eax
push 0x510644
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.004554b0
add esp, 0x10
jmp 0x4607ba
mov dword [ebp - 8], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
mov edx, dword [ebp - 8]
push edx
call fcn.004a3410
add esp, 4
push eax
push 0x510648
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004554b0
add esp, 0x10
jmp 0x4607ba
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041a0cf
mov esp, ebp
pop ebp
ret