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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x50e5d4]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 8], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov byte [ebp - 0xee], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov cl, byte [eax + 0x49]
mov byte [ebp - 0xed], cl
mov dword [ebp - 0xdc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004630a0
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 7
jne 0x466a2e
jmp 0x46dfd8
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x1a0], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
je 0x466a60
jmp 0x46e048
mov ecx, dword [ebp - 4]
xor edx, edx
cmp dword [ecx + 0x100], 0
setne dl
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xd8], ecx
jmp 0x466a92
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 8], 0
jne 0x46df2d
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x466aac
jmp 0x46dfd8
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 0x466b27
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x108]
cmp ecx, dword [ebp - 0xdc]
jne 0x466b18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x104]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x100]
call edx
add esp, 4
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x466b0e
mov dword [ebp - 8], 9
jmp 0x46df2d
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 0x466b6c
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.0045f910
add esp, 4
mov eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
sub ecx, 1
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0x90
ja case.0x466ba0.16
mov edx, dword [ebp - 0x134]
jmp dword [edx*4 + 0x46e094]
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
je 0x466bb8
jmp 0x46e048
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, 4
mov eax, dword [ebp - 0x100]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, 4
mov edx, dword [ebp - 0x100]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.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.0x466ba0.5
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
jne 0x466d91
mov edx, dword [ebp + 8]
cmp dword [edx + 0xd4], 0
je 0x466d91
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd4]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0xd4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd8]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00464680
add esp, 8
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00462730
add esp, 4
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 4
jne 0x466d74
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax + ecx + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0xfc], edx
jmp case.0x466ba0.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + 8]
mov byte [eax + 0x38], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0x10], 0
je 0x466e1d
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
push 0x510c68
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00446da0
add esp, 0x10
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
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.004488e0
add esp, 0x14
jmp 0x466e4e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 0
je 0x466e4e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
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.004488e0
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.00463150
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x466e75
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x466e88
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 8], eax
jmp 0x46df9b
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
jmp case.0x466ba0.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.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov byte [eax], 9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00449880
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0xed]
cmp edx, 1
je 0x467002
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.004600b0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jne 0x466f4e
jmp 0x46dfb4
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0045f420
add esp, 8
test eax, eax
je 0x466f6e
jmp 0x46dfd8
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 0x466fd4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp - 0xf8]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x48]
jle case.0x466ba0.8
jmp 0x46dfb4
mov eax, 0xa02
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x466ba0.16
mov ecx, 1
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
jmp case.0x466ba0.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.004600b0
add esp, 0x14
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xed]
mov byte [edx + 0x1f], al
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc8]
sub edx, 1
mov dword [ebp - 0xc8], edx
test ecx, ecx
jle 0x467199
mov eax, dword [ebp - 0xd0]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.0045ff30
add esp, 4
test eax, eax
je 0x467137
jmp 0x46dfb4
mov ecx, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0045f910
add esp, 4
mov ecx, 1
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
push 0x800
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0045ff80
add esp, 0xc
jmp 0x4670de
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xc4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xcc]
sub edx, 1
mov dword [ebp - 0xcc], edx
test ecx, ecx
je 0x46726f
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00460060
add esp, 8
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0x100]
add ecx, 0x28
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0xe4]
add edx, 0x28
mov dword [ebp - 0xe4], edx
jmp 0x4671f5
jmp case.0x466ba0.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
push 0x1000
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045ff80
add esp, 0xc
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x4672e9
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045f5d0
add esp, 4
test eax, eax
je 0x4672e9
jmp 0x46dfd8
jmp case.0x466ba0.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
push 0x1000
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045ff80
add esp, 0xc
jmp case.0x466ba0.16
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004630c0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46735a
jmp case.0x466ba0.16
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.00462f80
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x467376
jmp case.0x466ba0.16
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x50]
add eax, 2
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], 0
jmp 0x4673c7
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xcc]
cmp eax, dword [edx + 8]
jge 0x46740a
mov ecx, dword [ebp - 0xcc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd0]
push ecx
call fcn.0045f720
add esp, 4
mov edx, dword [ebp - 0xcc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd0]
push edx
call fcn.004665f0
add esp, 4
jmp 0x4673b8
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46741a
jmp 0x46dfd8
mov edx, dword [ebp - 0xd8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x54], edx
mov dword [ebp - 8], 0x64
jmp 0x46df9b
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 0x4674ac
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045fd60
add esp, 4
jmp case.0x466ba0.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x4674d5
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x138], eax
jmp 0x4674df
mov dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0
jne 0x467524
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x467511
mov edx, dword [ebp - 0xec]
push edx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x13c], eax
jmp 0x46751b
mov dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0
je 0x467529
jmp 0x46dfd8
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x467558
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045f7a0
add esp, 8
test eax, eax
je 0x467558
jmp 0x46dfd8
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 0x12
jne 0x467587
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.0045f7a0
add esp, 8
test eax, eax
je 0x467587
jmp 0x46dfd8
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 - 0x144], eax
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x140]
jl 0x4675dc
jg 0x4675d7
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x144]
jbe 0x4675dc
jmp 0x46dfb4
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.0045f460
add esp, 0xc
test eax, eax
je 0x46762c
jmp 0x46dfd8
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xec]
je 0x467660
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x14]
push eax
call fcn.004c5ea0
add esp, 0xc
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0xec]
add eax, dword [ecx + 0x18]
push eax
call fcn.004c5ea0
add esp, 0xc
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
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 + 0x14]
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.0x466ba0.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.00466770
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.00466770
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 0x467790
jmp 0x467b84
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 0x4679b3
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
sub eax, 0x56
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 3
ja case.default.0x46780e
mov ecx, dword [ebp - 0x148]
jmp dword [ecx*4 + 0x46e2d8]
mov edx, dword [ebp - 0xc0]
add edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xbc]
adc eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
jmp 0x46797a
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xbc]
sbb edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
jmp 0x46797a
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004c5160
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x46797a
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xc4]
jne 0x4678ac
jmp 0x467b84
mov edx, dword [ebp - 0xc8]
and edx, dword [ebp - 0xc4]
cmp edx, 0xffffffff
jne 0x4678e6
cmp dword [ebp - 0xc0], 0
jne 0x4678e6
cmp dword [ebp - 0xbc], 0x80000000
jne 0x4678e6
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004c51a0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x46797a
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xc4]
jne 0x467928
jmp 0x467b84
mov edx, dword [ebp - 0xc8]
and edx, dword [ebp - 0xc4]
cmp edx, 0xffffffff
jne 0x46794d
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004cd370
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp 0x467b7f
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045fb10
add esp, 4
fstp qword [ebp - 0xb8]
mov edx, dword [ebp - 0xec]
push edx
call fcn.0045fb10
add esp, 4
fstp qword [ebp - 0xb0]
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x14c]
sub edx, 0x56
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 3
ja case.default.0x467a0a
mov eax, dword [ebp - 0x14c]
jmp dword [eax*4 + 0x46e2e8]
fld qword [ebp - 0xb0]
fadd qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x467b20
fld qword [ebp - 0xb0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x467b20
fld qword [ebp - 0xb0]
fmul qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x467b20
fldz
fcomp qword [ebp - 0xb8]
fnstsw ax
test ah, 0x44
jp 0x467a6a
jmp 0x467b84
fld qword [ebp - 0xb0]
fdiv qword [ebp - 0xb8]
fstp qword [ebp - 0xb0]
jmp 0x467b20
fld qword [ebp - 0xb8]
call fcn.004c50e6
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
fld qword [ebp - 0xb0]
call fcn.004c50e6
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xc4]
jne 0x467ac2
jmp 0x467b84
mov edx, dword [ebp - 0xc8]
and edx, dword [ebp - 0xc4]
cmp edx, 0xffffffff
jne 0x467ae7
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004cd370
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
fild qword [ebp - 0x154]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call fcn.00449840
add esp, 8
test eax, eax
je 0x467b3a
jmp 0x467b84
mov ecx, dword [ebp - 0xe4]
fld qword [ebp - 0xb0]
fstp qword [ecx + 8]
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 8
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xd0]
and edx, 8
jne 0x467b7f
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0045fbb0
add esp, 4
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0045fd60
add esp, 4
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x88], 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 0x467bfb
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 0x467c2f
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]
push edx
call fcn.004665f0
add esp, 4
jmp 0x467bdd
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x467c59
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
jmp 0x467c76
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, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov ecx, 1
mov word [ebp - 0xa4], cx
mov edx, dword [ebp - 4]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00460060
add esp, 8
movzx edx, word [ebp - 0xa4]
and edx, 0xffffbf00
or edx, 1
mov word [ebp - 0xa4], dx
mov dword [ebp - 0x94], 0
mov eax, dword [ebp - 0xc8]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x467d0c
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx - 4]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x84]
push edx
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x467d4e
lea edx, [ebp - 0xc0]
push edx
call fcn.0045f9c0
add esp, 4
jmp 0x46dfd8
cmp dword [ebp - 0xc4], 0
je 0x467d89
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
call fcn.00463700
add esp, 8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xf8]
mov byte [edx + 1], 0xf9
cmp dword [ebp - 0x94], 0
je 0x467dc3
lea eax, [ebp - 0xc0]
push eax
call fcn.00464ae0
add esp, 4
push eax
push 0x510ca4
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0x10
mov eax, dword [ebp - 0x94]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0xed]
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.0045f420
add esp, 8
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00460060
add esp, 8
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045ff30
add esp, 4
test eax, eax
je 0x467e08
jmp 0x46dfb4
jmp case.0x466ba0.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 - 0xec], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x467e84
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0045fd60
add esp, 4
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xec]
push edx
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx]
mov byte [ebp - 0x158], dl
cmp byte [ebp - 0x158], 0x52
je 0x467ee5
cmp byte [ebp - 0x158], 0x53
je 0x467f0b
cmp byte [ebp - 0x158], 0x54
je 0x467f31
jmp 0x467f56
mov eax, dword [ebp - 0xd0]
and eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
and ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
jmp 0x467f79
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
or eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x467f79
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.004c5d60
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x467f79
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.004e0c20
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
jmp case.0x466ba0.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.0045fc40
add esp, 4
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x466ba0.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.004668a0
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 4
jne 0x46806e
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 8], 0
jne 0x46805a
mov dword [ebp - 8], 0x14
jmp 0x46e003
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x46808b
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.0x466ba0.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 0x4680c6
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045fc80
add esp, 4
jmp case.0x466ba0.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 0x4680f7
jmp case.0x466ba0.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.004668a0
add esp, 0xc
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x46815f
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x15c], eax
jmp 0x468169
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbfe3
mov ecx, dword [ebp - 0x100]
mov word [ecx + 0x1c], ax
jmp case.0x466ba0.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 0x4681bc
jmp case.0x466ba0.16
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x468203
movzx edx, byte [ebp - 0xed]
push edx
push 0x61
mov eax, dword [ebp - 0x100]
push eax
call fcn.004668a0
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 0x46821d
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.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0xd
jne 0x468258
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045fcb0
add esp, 4
jmp case.0x466ba0.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 0x468293
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045fc40
add esp, 4
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x4682ce
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045fc80
add esp, 4
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x100]
mov ax, word [edx + 0x1c]
mov word [ebp - 0xca], ax
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0x1c]
mov word [ebp - 0xc8], dx
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4683ee
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x80
je 0x46837e
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 1
neg ecx
sbb ecx, ecx
add ecx, 1
mov dword [ebp - 0xd0], ecx
jmp 0x4683e9
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x4683c3
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 0x4683e4
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 8
je 0x4683e4
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
jmp 0x4684e4
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 0x46845a
movzx eax, byte [ebp - 0xed]
push eax
movzx ecx, byte [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.004668a0
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.004668a0
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46845a
jmp 0x46dfd8
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x468482
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x160], eax
jmp 0x46848c
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4684b4
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x164], eax
jmp 0x4684be
mov dword [ebp - 0x164], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004602f0
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
sub edx, 0x4b
mov dword [ebp - 0x168], edx
cmp dword [ebp - 0x168], 4
ja case.default.0x468511
mov eax, dword [ebp - 0x168]
jmp dword [eax*4 + 0x46e2f8]
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
jmp 0x46858e
xor edx, edx
cmp dword [ebp - 0xd0], 0
setne dl
mov dword [ebp - 0xd0], edx
jmp 0x46858e
xor eax, eax
cmp dword [ebp - 0xd0], 0
setl al
mov dword [ebp - 0xd0], eax
jmp 0x46858e
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
setle cl
mov dword [ebp - 0xd0], ecx
jmp 0x46858e
xor edx, edx
cmp dword [ebp - 0xd0], 0
setg dl
mov dword [ebp - 0xd0], edx
jmp 0x46858e
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 0x4685e5
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x468600
cmp dword [ebp - 0xd0], 0
je 0x468600
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.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe8], ecx
jmp case.0x466ba0.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 0x4686c0
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x4687a1
cmp dword [ebp - 0xe8], 0
je 0x4686f2
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x16c], edx
jmp 0x4686fe
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + edx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xcc]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc4]
add ecx, dword [ebp - 0xbc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0xc8]
add edx, dword [ebp - 0xbc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
push edx
call fcn.004602f0
add esp, 0xc
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x46879c
cmp dword [ebp - 0xb4], 0
je 0x46879a
mov eax, dword [ebp - 0x104]
neg eax
mov dword [ebp - 0x104], eax
jmp 0x4687a1
jmp 0x4686b1
mov dword [ebp - 0xe8], 0
jmp case.0x466ba0.16
cmp dword [ebp - 0x104], 0
jge 0x4687cd
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x4687fc
cmp dword [ebp - 0x104], 0
jne 0x4687ea
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x4687fc
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.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 0x468834
mov dword [ebp - 0xd0], 2
jmp 0x46887f
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x174]
or eax, dword [ebp - 0x170]
je 0x468869
mov dword [ebp - 0x178], 1
jmp 0x468873
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4688b2
mov dword [ebp - 0xcc], 2
jmp 0x4688fd
mov eax, dword [ebp - 0xec]
push eax
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov ecx, dword [ebp - 0x180]
or ecx, dword [ebp - 0x17c]
je 0x4688e7
mov dword [ebp - 0x184], 1
jmp 0x4688f1
mov dword [ebp - 0x184], 0
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x45
jne 0x46892a
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x4eef04]
mov dword [ebp - 0xd0], ecx
jmp 0x468947
mov edx, dword [ebp - 0xd0]
imul edx, edx, 3
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [edx + eax + 0x4eef38]
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 0x468987
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 0x4689b5
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x466ba0.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 0x468a0a
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045fd60
add esp, 4
jmp 0x468a61
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], edx
mov ecx, dword [ebp - 0x18c]
or ecx, dword [ebp - 0x188]
jne 0x468a3f
mov dword [ebp - 0x190], 1
jmp 0x468a49
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x190]
cdq
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045fe10
add esp, 0xc
jmp case.0x466ba0.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 0x468ab6
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0045fd60
add esp, 4
jmp 0x468ada
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045fa60
add esp, 4
not eax
not edx
push edx
push eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045fe10
add esp, 0xc
jmp case.0x466ba0.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 0x468b17
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd0], edx
jmp 0x468b75
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045fb10
add esp, 4
fcomp qword [0x4fb1b0]
fnstsw ax
test ah, 0x44
jnp 0x468b3f
mov dword [ebp - 0x194], 1
jmp 0x468b49
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x1b
jne 0x468b75
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x468b90
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.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 0x468bce
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.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 0x468c0c
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0
xor edx, edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 1
mov ecx, dword [ebp - 0x94]
mov word [ecx + 0x1c], ax
mov dword [ebp - 0xb4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0
je 0x468d8b
mov edx, dword [ebp - 0xb8]
push edx
call fcn.004638a0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x468cf0
jmp 0x46e003
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x468d0a
mov dword [ebp - 0xd0], 0
jmp 0x468d89
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x468d3b
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xb4], edx
jmp 0x468d89
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x468d70
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004583b0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], ecx
jmp 0x468d89
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00458400
add esp, 8
mov dword [ebp - 8], eax
jmp 0x468e06
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x24], 0
jle 0x468dfc
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x468ddf
mov dword [ebp - 0x198], 0
jmp 0x468deb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x44], ecx
jmp 0x468e06
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd0], 0
jne 0x468e14
jmp 0x469352
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x48]
jbe 0x468e27
jmp 0x46dfb4
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x468e6a
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0xa8], eax
jmp 0x46919f
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx*4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa8]
mov dword [ecx + 0x50], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x44], ecx
cmp dword [ebp - 0xb4], 0
je 0x468eca
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x98], edx
jmp 0x468f41
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x468ef3
lea edx, [ebp - 0x54]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00458a70
add esp, 8
mov dword [ebp - 0x98], eax
jmp 0x468f0c
lea ecx, [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00458ab0
add esp, 8
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x54]
ja 0x468f34
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x98]
mov dword [edx + 0x54], eax
jmp 0x468f41
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x468f69
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x19c], 1
jmp 0x468f85
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.0044ab20
add esp, 8
movzx edx, al
mov dword [ebp - 0x19c], edx
movzx eax, byte [ebp - 0x19c]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x60], 0x18003
jbe 0x468fad
push 0xd8c5
call fcn.004a24c0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x469352
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 0x468fd3
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xb4], 0
jne 0x469035
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0xa0]
jge 0x469035
xor edx, edx
mov word [ebp - 0x74], dx
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x17]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.00460670
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46902c
jmp 0x469352
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x9c], 0
jmp 0x46906b
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa4]
jge 0x46914c
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x64]
jae 0x469134
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 0x4690c9
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x1a0], 1
jmp 0x4690ee
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.0044ab20
add esp, 8
movzx eax, al
mov dword [ebp - 0x1a0], eax
movzx ecx, byte [ebp - 0x1a0]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00463b00
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 0x469132
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x68], ecx
jmp 0x46914c
jmp 0x469147
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
mov dword [eax + edx*4], 0
jmp 0x46905c
lea ecx, [ebp - 0x90]
push ecx
call fcn.0045f9c0
add esp, 4
mov edx, 1
mov word [ebp - 0x74], dx
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x64]
ja 0x46918a
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0xd0]
ja 0x46918a
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x64]
jne 0x46919f
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0xd0]
je 0x46919f
push 0xd90f
call fcn.004a24c0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x469352
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xa8]
cmp dword [edx + ecx*4], 0
je 0x4692c1
cmp dword [ebp - 0xb4], 0
je 0x469207
mov eax, dword [ebp - 0x94]
push eax
call fcn.0045f910
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.00463c50
add esp, 0xc
jmp 0x4692b0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00463b00
add esp, 4
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x94]
push edx
lea eax, [ebp - 0x90]
push eax
call fcn.00460060
add esp, 8
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x17]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00460670
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x469281
jmp 0x469352
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.00463c50
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xed]
mov byte [eax + 0x1f], cl
jmp 0x4692ee
mov edx, dword [ebp - 0xf8]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x4692ee
push 0x800
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x94]
push eax
call fcn.0045ff80
add esp, 0xc
cmp dword [ebp - 0x6c], 0
je 0x469340
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffe7ff
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0x94]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x7c]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x94]
push edx
call fcn.0045f5d0
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x466ba0.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 0x46940b
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x4693ce
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x1a4], eax
jmp 0x4693d8
mov dword [ebp - 0x1a4], 0
movzx edx, byte [ebp - 0xed]
push edx
movzx eax, byte [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004668a0
add esp, 0xc
mov edx, dword [ebp - 0x100]
add edx, 0x28
mov dword [ebp - 0x100], edx
jmp 0x46937e
jmp case.0x466ba0.16
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x9c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x64]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
jmp 0x4694d0
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa0]
ja 0x4695fd
cmp dword [ebp - 0x98], 0
je 0x469521
movzx ecx, byte [ebp - 0xed]
push ecx
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xa4]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x98]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004668a0
add esp, 0xc
mov edx, dword [ebp - 0xcc]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x46954d
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x18], 0
jle 0x46954d
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0045f680
add esp, 4
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00463990
add esp, 8
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00463b00
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.0044ac20
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 0x4695e5
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
jmp 0x4695f8
cmp dword [ebp - 0x8c], 0
je 0x4695f8
mov dword [ebp - 0xb0], 0
jmp 0x4694c1
mov eax, dword [ebp - 0xc0]
cdq
push edx
push eax
call fcn.0044ac20
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.0044ac20
add esp, 8
cmp dword [ebp - 0xac], eax
jge 0x46964e
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0xc8]
adc esi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x1a8]
jl 0x4696b2
jg 0x4696ad
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0x1ac]
jbe 0x4696b2
jmp 0x46dfb4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045f460
add esp, 0xc
test eax, eax
je 0x4696eb
jmp 0x46dfd8
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xc0], 0x80
jae 0x469720
mov edx, dword [ebp - 0xd0]
mov al, byte [ebp - 0xc0]
mov byte [edx], al
mov dword [ebp - 0x1b0], 1
jmp 0x46973c
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.0044a700
add esp, 8
mov dword [ebp - 0x1b0], eax
movzx eax, byte [ebp - 0x1b0]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
jmp 0x469766
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa0]
ja 0x4697fa
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00463990
add esp, 8
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x80
jae 0x4697c0
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x90]
mov cl, byte [ebp - 0xa8]
mov byte [eax], cl
mov dword [ebp - 0x1b4], 1
jmp 0x4697e2
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x90]
push eax
call fcn.0044a700
add esp, 8
mov dword [ebp - 0x1b4], eax
movzx ecx, byte [ebp - 0x1b4]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x90], ecx
jmp 0x469757
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], edx
jmp 0x469817
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0xa0]
ja 0x46986e
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0x90]
cdq
mov ecx, dword [ebp - 0xb8]
sub ecx, eax
mov eax, dword [ebp - 0xb4]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x90]
push ecx
call fcn.00463b30
add esp, 0x10
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x469808
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 0x4698ca
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xb0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1f], 1
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x469917
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.0045d300
add esp, 8
mov dword [ebp - 8], eax
jmp 0x46992b
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 4], edx
jmp case.0x466ba0.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 0x469a87
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jle 0x4699a2
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x469a82
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00449880
add esp, 4
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc8]
add edx, 0x19
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00446b10
add esp, 8
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x469a82
mov ecx, dword [ebp - 0xc4]
add ecx, 0x18
mov edx, dword [ebp - 0xc4]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc8]
add eax, 1
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
push eax
call fcn.004c5ea0
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x469a31
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1d4], 1
jmp 0x469a46
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1cc]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1cc], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c8]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x1c8], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1d8]
mov dword [ecx + 8], eax
mov edx, dword [edx + 0x1dc]
mov dword [ecx + 0xc], edx
jmp 0x469db9
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c8]
mov dword [ebp - 0xc0], ecx
jmp 0x469ab1
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x469ae7
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
push eax
call fcn.00449b50
add esp, 8
test eax, eax
je 0x469ae7
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x469aa2
cmp dword [ebp - 0xc0], 0
jne 0x469b1b
mov edx, dword [ebp - 0xcc]
push edx
push str.no_such_savepoint:__s
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00446da0
add esp, 0x10
mov dword [ebp - 8], 1
jmp 0x469db9
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 0
jg 0x469b3c
cmp dword [ebp - 0xd0], 2
jne 0x469b86
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x469b86
cmp dword [ebp - 0xd0], 2
jne 0x469b51
mov dword [ebp - 0x1b8], str.rollback
jmp 0x469b5b
mov dword [ebp - 0x1b8], str.release
mov ecx, dword [ebp - 0x1b8]
push ecx
push str.cannot__s_savepoint___SQL_statements_in_progress
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00446da0
add esp, 0x10
mov dword [ebp - 8], 5
jmp 0x469db9
mov ecx, dword [ebp - 0xc0]
cmp dword [ecx + 0x10], 0
jne 0x469bac
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1d4]
test eax, eax
je 0x469bac
mov dword [ebp - 0x1bc], 1
jmp 0x469bb6
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0
je 0x469c48
cmp dword [ebp - 0xd0], 1
jne 0x469c48
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004630c0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x469bf0
jmp 0x46df9b
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.00463150
add esp, 4
cmp eax, 5
jne 0x469c30
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 0
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x46df9b
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1d4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov dword [ebp - 8], eax
jmp 0x469cf4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1cc]
sub edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], 0
jmp 0x469c7b
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ecx + 4]
jge 0x469cc3
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xb4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00458050
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x469cc1
jmp 0x46e003
jmp 0x469c6c
cmp dword [ebp - 0xd0], 2
jne 0x469cf4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
and ecx, 0x200
je 0x469cf4
mov edx, dword [ebp - 4]
push edx
call fcn.004646b0
add esp, 4
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.00479eb0
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c8]
cmp edx, dword [ebp - 0xc0]
je 0x469d50
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c8]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x1c8], ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00446880
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1cc]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1cc], edx
jmp 0x469cf4
cmp dword [ebp - 0xd0], 1
jne 0x469d9e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1c8], eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
cmp dword [ebp - 0x110], 0
jne 0x469d9c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1cc]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1cc], ecx
jmp 0x469db9
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x1d8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0x1dc], ecx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xd0], 0
je 0x469dfc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x469dfc
mov dword [ebp - 0x1c0], 1
jmp 0x469e06
mov dword [ebp - 0x1c0], 0
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x469e54
cmp dword [ebp - 0xcc], 0
je 0x469e54
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x469e54
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x469fc1
cmp dword [ebp - 0xc8], 0
je 0x469e96
cmp dword [ebp - 0xcc], 0
jne 0x469e96
mov eax, dword [ebp - 4]
cmp dword [eax + 0x90], 0
jle 0x469e96
push str.cannot_commit_transaction___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x469fc1
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0xd0], ecx
je 0x469f60
cmp dword [ebp - 0xcc], 0
je 0x469ec7
mov edx, dword [ebp - 4]
push edx
call fcn.004a0fc0
add esp, 4
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x469f34
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004630c0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x469ee5
jmp 0x46df9b
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0xd0]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.00463150
add esp, 4
cmp eax, 5
jne 0x469f34
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x54], eax
mov ecx, 1
sub ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 4]
mov byte [edx + 0x1c], cl
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x46df9b
mov edx, dword [ebp - 4]
push edx
call fcn.004a0bb0
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x58], 0
jne 0x469f52
mov dword [ebp - 8], 0x65
jmp 0x469f59
mov dword [ebp - 8], 1
jmp 0x46df9b
cmp dword [ebp - 0xd0], 0
jne 0x469f75
mov dword [ebp - 0x1c4], str.cannot_start_a_transaction_within_a_transaction
jmp 0x469fa0
cmp dword [ebp - 0xcc], 0
je 0x469f8a
mov dword [ebp - 0x1c8], str.cannot_rollback___no_transaction_is_active
jmp 0x469f94
mov dword [ebp - 0x1c8], str.cannot_commit___no_transaction_is_active
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x1c4]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x46a0e9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00457050
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x46a032
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x54], edx
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
jmp 0x46df9b
cmp dword [ebp - 8], 0
je 0x46a03d
jmp 0x46e003
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
je 0x46a0e9
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x66]
test ecx, ecx
je 0x46a0e9
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x46a073
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 1
jle 0x46a0e9
mov edx, dword [ebp + 8]
cmp dword [edx + 0xd0], 0
jne 0x46a0af
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d0]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1d0], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1cc]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x1d0]
mov eax, dword [ebp + 8]
mov dword [eax + 0xd0], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd0]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00457fe0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1d8]
mov dword [ecx + 0xc8], eax
mov edx, dword [edx + 0x1dc]
mov dword [ecx + 0xcc], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xcc]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0045d230
add esp, 0xc
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x466ba0.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.0045fc40
add esp, 4
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
push ecx
call fcn.0045d280
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 1
jne 0x46a1e7
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
or edx, 0x200
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x46a207
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 8], 2
jne 0x46a207
mov edx, dword [ebp - 0xd4]
mov al, byte [edx]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x48], al
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 1
jne 0x46a226
mov ecx, dword [ebp - 4]
push ecx
call fcn.004646b0
add esp, 4
mov edx, dword [ebp + 8]
mov byte [edx + 0x62], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
je 0x46a26a
lea edx, [ebp - 0xd0]
push edx
push 1
mov eax, dword [ebp - 0xcc]
push eax
call fcn.0045d230
add esp, 0xc
jmp 0x46a274
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 8]
je 0x46a2f8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
push 0x510e38
mov eax, dword [ebp - 4]
push eax
call fcn.00446cf0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xd0]
je 0x46a2e5
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00479eb0
add esp, 8
mov edx, dword [ebp - 4]
push edx
call fcn.004646b0
add esp, 4
mov dword [ebp - 8], 0x11
jmp case.0x466ba0.16
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x62]
test ecx, ecx
je 0x46a314
mov dword [ebp - 8], 4
jmp case.0x466ba0.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 0x46a3ae
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x48]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x64]
cmp edx, ecx
jge 0x46a3ac
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x48]
mov byte [ecx + 0x64], dl
jmp 0x46a3b8
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x46a416
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.0045fc40
add esp, 4
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 2
jge 0x46a416
push 0xdc05
call fcn.004a24c0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x46e003
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x46a460
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xcc]
mov al, byte [ecx + 0x49]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xcc]
movzx edx, word [ecx + 6]
add edx, 1
mov dword [ebp - 0xd0], edx
jmp 0x46a47e
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x46a47e
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.00466650
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x46a4b8
jmp 0x46dfd8
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004581a0
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 0x28], edx
cmp dword [ebp - 8], 0x10
jne 0x46a51a
mov eax, dword [ebp - 0xb8]
mov dword [eax], 0
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 0xf8]
movsx edx, byte [ecx + 1]
xor eax, eax
cmp edx, 0xfffffffa
setne al
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x16], al
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x16]
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x17], al
jmp case.0x466ba0.16
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00466650
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x46a58c
jmp 0x46dfd8
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x14], 1
mov edx, dword [ebp - 0xd0]
add edx, 0x20
push edx
mov eax, dword [0x4eef44]
push eax
push 0x1f4
push 1
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.004a1880
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46a5db
push 1
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x20]
push eax
call fcn.00457050
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46a6b0
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
je 0x46a682
push 2
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0045cd20
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46a676
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
push 1
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004581a0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x28], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x28]
mov al, byte [eax + 0x49]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x16], 0
jmp 0x46a6b0
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
push 0
push 1
push 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x20]
push edx
call fcn.004581a0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x16], 1
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x16]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x17], dl
jmp case.0x466ba0.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.00466650
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x46a707
jmp 0x46dfd8
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x16], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x17], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004626b0
add esp, 8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov dword [eax + ecx*4], 0
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
je 0x46abdc
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x16]
test edx, edx
je 0x46aa18
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.00466770
add esp, 4
mov eax, dword [ebp - 0xd4]
push eax
call fcn.0045fa60
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 4
jne 0x46a9b0
mov ecx, dword [ebp - 0xd4]
movzx edx, word [ecx + 0x1c]
and edx, 8
jne 0x46a84d
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x466ba0.16
cmp dword [ebp - 0xa0], 0
jne 0x46a934
cmp dword [ebp - 0x9c], 0x80000000
jne 0x46a934
fild qword [ebp - 0xa0]
mov edx, dword [ebp - 0xd4]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
je 0x46a896
mov eax, dword [ebp - 0xd4]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x46a934
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 0xd4]
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x46a8e3
cmp dword [ebp - 0xcc], 0x2d
jl 0x46a8e1
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00458f50
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46a8e1
jmp 0x46e003
jmp 0x46a912
cmp dword [ebp - 0xcc], 0x2c
jg 0x46a912
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00458fb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46a912
jmp 0x46e003
cmp dword [ebp - 0xd0], 0
je 0x46a92d
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
cmp dword [ebp - 0xcc], 0x2b
je 0x46a946
cmp dword [ebp - 0xcc], 0x2d
jne 0x46a97c
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x46a97a
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 0x46a9b0
fild qword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x46a9b0
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.00459030
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46a9e8
jmp 0x46e003
cmp dword [ebp - 0xd0], 0
jne 0x46aa13
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 1
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xa0]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 0xc], eax
jmp 0x46aae2
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xc0], ecx
mov dx, word [ebp - 0xa8]
mov word [ebp - 0xbc], dx
mov eax, dword [ebp - 0xcc]
sub eax, 0x2b
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 0x46aa9b
mov edx, dword [ebp - 0xb0]
push edx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x1cc], eax
jmp 0x46aaa5
mov dword [ebp - 0x1cc], 0
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.00459030
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46aad8
jmp 0x46e003
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], 0
cmp dword [ebp - 0xcc], 0x2d
jl 0x46ab5b
cmp dword [ebp - 0xd0], 0
jl 0x46ab1d
cmp dword [ebp - 0xd0], 0
jne 0x46ab4f
cmp dword [ebp - 0xcc], 0x2e
jne 0x46ab4f
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.00459560
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46ab43
jmp 0x46e003
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
jmp 0x46ab59
mov dword [ebp - 0xd0], 0
jmp 0x46abbf
cmp dword [ebp - 0xd0], 0
jg 0x46ab76
cmp dword [ebp - 0xd0], 0
jne 0x46aba8
cmp dword [ebp - 0xcc], 0x2b
jne 0x46aba8
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00459780
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46ab9c
jmp 0x46e003
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x11], 0
jmp 0x46abbf
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00459540
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x46abda
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x46abee
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
je 0x46ac67
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.0045fa60
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x15], 1
jmp case.0x466ba0.16
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xcc]
cmp dword [edx], 0
je 0x46ae10
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
jle 0x46ad0a
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xbc], cx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], edx
mov eax, 0x10
mov word [ebp - 0xba], ax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
jmp 0x46ad99
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x46ad32
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x1d0], eax
jmp 0x46ad3c
mov dword [ebp - 0x1d0], 0
push 0x97
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00463f70
add esp, 0x14
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x46ad82
jmp 0x46dfd8
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.00459030
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
jne 0x46addc
mov edx, dword [ebp - 0xc4]
push edx
call fcn.00464160
add esp, 4
cmp dword [ebp - 8], 0
je 0x46ade7
jmp case.0x466ba0.16
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x44], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax]
cmp ecx, 0x31
jne 0x46ae3b
cmp dword [ebp - 0xd0], 0
je 0x46ae39
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x46ae56
cmp dword [ebp - 0xd0], 0
jne 0x46ae56
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov ax, word [edx + 6]
mov word [ebp - 0xc4], ax
xor ecx, ecx
mov word [ebp - 0xd0], cx
jmp 0x46aefc
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 0x46af48
movzx edx, word [ebp - 0xd0]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xc0]
movzx ecx, word [eax + edx + 0x1c]
and ecx, 1
je 0x46af46
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xc8], 0
jmp 0x46af48
jmp 0x46aeea
cmp dword [ebp - 0xc8], 0
je 0x46b02f
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xb8], edx
movzx eax, word [ebp - 0xc4]
add eax, 1
mov word [ebp - 0xb4], ax
mov ecx, 0x20
mov word [ebp - 0xb2], cx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.0045fc40
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x40
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00459030
add esp, 0x18
mov dword [ebp - 8], eax
movzx ecx, word [ebp - 0xb2]
and ecx, 0x20
jne 0x46b004
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa0]
jne 0x46b018
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
jne 0x46b018
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x46b02f
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xac]
mov dword [eax + 4], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x46b144
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0xc8]
push eax
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00459030
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
mov dword [ecx + 0xc], edx
xor eax, eax
cmp dword [ebp - 0xc8], 0
sete al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x11], al
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x14], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x15], 0
cmp dword [ebp - 0xc8], 0
je 0x46b133
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x40], edx
jmp 0x46b163
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x40], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x30]
mov dword [edx], eax
mov ecx, dword [ecx + 0x34]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x30]
add ecx, 1
mov edx, dword [eax + 0x34]
adc edx, 0
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x34]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
jmp case.0x466ba0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0
jne 0x46b20c
jmp 0x46b603
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x13]
test edx, edx
jne 0x46b49d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00458270
add esp, 4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x46b2f6
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.00458fb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46b27d
jmp 0x46e003
cmp dword [ebp - 0xc4], 0
je 0x46b29c
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], 0
jmp 0x46b2f6
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.004583b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0xffffffff
jne 0x46b2d8
cmp dword [ebp - 0xcc], 0x7fffffff
jne 0x46b2d8
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x13], 1
jmp 0x46b2f6
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 0x46b433
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xd4], 0
je 0x46b35d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd4]
mov dword [ebp - 0xb8], eax
jmp 0x46b332
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 0x46b340
jmp 0x46b323
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 0x46b375
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.0045fc40
add esp, 4
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp dword [edx], 0xffffffff
jne 0x46b3aa
mov eax, dword [ebp - 0x1d4]
cmp dword [eax + 4], 0x7fffffff
je 0x46b3b8
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 0x13]
test edx, edx
je 0x46b3c4
mov dword [ebp - 8], 0xd
jmp 0x46e003
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x1d8]
jg 0x46b41c
jl 0x46b3ff
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0x1dc]
jae 0x46b41c
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 4], ecx
cmp dword [ebp - 0xcc], 0x7fffffff
jg 0x46b46a
jl 0x46b44a
cmp dword [ebp - 0xd0], 0xffffffff
jae 0x46b46a
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], eax
jmp 0x46b47e
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0x1e4]
push edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00458220
add esp, 0xc
mov edx, dword [ebp - 0xc8]
movzx eax, byte [edx + 0x13]
test eax, eax
je 0x46b5e2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0
jne 0x46b534
mov ecx, dword [ebp - 0xd0]
and ecx, 0xffffff
mov edx, dword [ebp - 0xcc]
and edx, 0
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1ec]
cmp eax, dword [ebp - 0xd0]
jne 0x46b534
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0xcc]
jne 0x46b534
mov edx, dword [ebp - 0xd0]
add edx, 1
mov eax, dword [ebp - 0xcc]
adc eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
jmp 0x46b56f
lea ecx, [ebp - 0xd0]
push ecx
push 8
call fcn.00448ad0
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x46b56f
mov edx, dword [ebp - 0xd0]
and edx, 0xffffff
mov eax, dword [ebp - 0xcc]
and eax, 0
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xc4]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
push edx
call fcn.00459030
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x64
jge 0x46b5c7
cmp dword [ebp - 8], 0
jne 0x46b5c7
cmp dword [ebp - 0xc4], 0
je 0x46b4ce
cmp dword [ebp - 8], 0
jne 0x46b5e2
cmp dword [ebp - 0xc4], 0
jne 0x46b5e2
mov dword [ebp - 8], 0xd
jmp 0x46e003
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx]
cmp eax, 0x36
jne 0x46b68e
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc4], edx
jmp 0x46b6a4
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x46b6c2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x46b6e6
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x46b70f
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x46b72f
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x1f0], eax
jmp 0x46b739
mov dword [ebp - 0x1f0], 0
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x46b766
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xbc], edx
jmp 0x46b770
mov dword [ebp - 0xbc], 0
push 0
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.00458220
add esp, 0xc
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
and ecx, 8
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push ecx
call fcn.0045c460
add esp, 0x24
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x46b8a6
mov edx, dword [ebp - 4]
cmp dword [edx + 0xb8], 0
je 0x46b8a6
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x46b8a6
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x18
jmp case.0x466ba0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb8], 0
je 0x46b907
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 0x10], 0
je 0x46b907
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004638a0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46b924
jmp 0x46e003
push 0
push 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
call fcn.00458220
add esp, 0xc
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.0045c740
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x46b9d8
mov edx, dword [ebp - 4]
cmp dword [edx + 0xb8], 0
je 0x46b9d8
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x10], 0
je 0x46b9d8
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
mov edx, dword [ebp - 0x118]
push edx
push 9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x18
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
and edx, 1
je 0x46b9f5
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.0x466ba0.16
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00464680
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004638a0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46ba77
jmp 0x46e003
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x17]
test eax, eax
je 0x46bae2
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.004583b0
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [ebp - 0x1f4]
jl 0x46bad4
jg 0x46bacf
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0x1f8]
jbe 0x46bad4
jmp 0x46dfb4
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x46bb0e
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00458400
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [eax + 0x48]
jbe 0x46bb0e
jmp 0x46dfb4
push 0
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0045f460
add esp, 0xc
test eax, eax
je 0x46bb2f
jmp 0x46dfd8
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x46bb90
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00458920
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x46bbb5
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00458940
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1f], 1
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x46bc03
mov eax, 1
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 0x1c], ax
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x15]
test eax, eax
je 0x46bc2e
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc4], eax
jmp 0x46bd0c
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x38], 0
je 0x46bcac
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x30]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 0xc0]
mov dword [eax + 8], 0
jmp 0x46bd0c
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004638a0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46bcc9
jmp 0x46e003
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x11]
test eax, eax
je 0x46bcf1
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc4], eax
jmp 0x46bd0c
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
call fcn.004583b0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 4], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
je 0x46bd70
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.00454800
add esp, 4
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jne 0x46bdb0
mov dword [ebp - 0xc8], 1
jmp 0x46bdc9
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00458fb0
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd0]
mov al, byte [ebp - 0xc8]
mov byte [edx + 0x14], al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 8], 0
jle 0x46be20
cmp dword [ebp - 0xc8], 0
je 0x46be20
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb4]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xb4], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
je 0x46beba
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00458f50
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
cmp dword [ebp - 0xc8], 0
sete cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x12], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
jmp 0x46bec4
mov dword [ebp - 0xc8], 1
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0xc8], 0
je 0x46beee
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xd8], 0
je 0x46bf04
jmp 0x46e048
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x46bf2a
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jne 0x46bf50
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x14], 1
jmp case.0x466ba0.16
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
cmp edx, 0x42
jne 0x46bf86
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00459560
add esp, 8
mov dword [ebp - 0x1fc], eax
jmp 0x46bfa2
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00459780
add esp, 8
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xd0]
mov al, byte [ebp - 0xc8]
mov byte [edx + 0x14], al
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 0xc8], 0
jne 0x46c01b
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x46c01b
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0xac]
add eax, 1
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0xac], eax
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x11], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x46c14c
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x46c09e
mov edx, dword [ebp - 0xec]
push edx
call fcn.0045f680
add esp, 4
mov dword [ebp - 0x200], eax
jmp 0x46c0a8
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x200]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c14c
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x46c0f9
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x204], edx
jmp 0x46c103
mov dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
push edx
push 0
push 0
push 0x51a556
mov eax, dword [ebp - 0xc8]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0045c460
add esp, 0x24
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x44], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x46c219
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov cx, word [eax + 0xc]
mov word [ebp - 0xbc], cx
xor edx, edx
mov word [ebp - 0xba], dx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0xc8]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00459030
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c20c
cmp dword [ebp - 0xc8], 0
jne 0x46c20c
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0045c740
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], 0
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, 1
mov eax, dword [ebp - 0xe4]
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xd0], 0
je 0x46c2d5
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.004638a0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c279
jmp 0x46e003
mov edx, dword [ebp - 0xcc]
movzx eax, byte [edx + 0x14]
test eax, eax
jne 0x46c2d5
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00464410
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c2af
jmp 0x46e003
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 4], eax
mov ecx, 4
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
je 0x46c3c9
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xf8]
mov ax, word [edx + 0x10]
mov word [ebp - 0xc4], ax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x46c33d
mov eax, 0xc
mov word [ebp - 0xc2], ax
jmp 0x46c349
mov ecx, 4
mov word [ebp - 0xc2], cx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xcc]
push ecx
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004645a0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx]
cmp edx, 0x48
jne 0x46c39f
mov eax, dword [ebp - 0xcc]
neg eax
mov dword [ebp - 0xcc], eax
jmp 0x46c3ae
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
jle 0x46c3c9
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x88]
mov dword [ebp - 0xc8], edx
jmp 0x46c3f8
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
je 0x46c43c
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0x44], 0xbdf20da3
jne 0x46c43a
mov eax, dword [ebp - 0xc8]
movzx ecx, byte [eax + 0x65]
cmp ecx, 2
jge 0x46c43a
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0x54], 0
jl 0x46c43a
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
jmp 0x46c3e9
mov ecx, 1
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
cmp dword [ebp - 0xcc], 1
jle 0x46c467
mov dword [ebp - 8], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x38], 2
jmp 0x46c506
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xc4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0045d1f0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, 4
mov edx, dword [ebp - 0xe4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
jne 0x46c506
cmp dword [ebp - 0xd0], 0
je 0x46c506
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xc4]
shl edx, 4
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
push edx
call fcn.0047c0e0
add esp, 0xc
mov byte [ebp - 0xee], 1
jmp case.0x466ba0.16
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
neg edx
sbb edx, edx
lea eax, [ebp - 0xd0]
and edx, eax
push edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.0045cf30
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0xc], 0
je 0x46c5bc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
add ecx, dword [ebp - 0xd0]
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], ecx
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
jle 0x46c5bc
mov ecx, dword [ebp - 0xf8]
mov ecx, dword [ecx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0xd0]
cdq
mov esi, dword [ebp - 0xfc]
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0xfc]
mov dword [esi + edx], eax
mov dword [esi + edx + 4], ecx
jmp case.0x466ba0.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, 0x61
jne 0x46c5fd
mov dword [ebp - 0xcc], 5
jmp 0x46c607
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.0045cd20
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00453f50
add esp, 4
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 8], 0
jne 0x46c688
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
movzx ecx, word [eax + 0x4a]
and ecx, 1
je 0x46c78b
mov edx, 1
test edx, edx
je 0x46c6a6
cmp dword [ebp - 0xd0], 1
jne 0x46c6a6
mov dword [ebp - 0x208], 0x510e54
jmp 0x46c6b0
mov dword [ebp - 0x208], 0x510e68
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov eax, dword [ebp - 4]
push eax
call fcn.004486a0
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x46c72d
mov dword [ebp - 8], 7
jmp 0x46c78b
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x7c], 1
mov dword [ebp - 0xb8], 0
push 0
lea edx, [ebp - 0xc4]
push edx
push fcn.0048a470
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00487090
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c771
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x7c], 0
mov eax, dword [ebp - 4]
push eax
call fcn.00454050
add esp, 4
cmp dword [ebp - 8], 7
jne 0x46c7a2
jmp 0x46dfd8
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00478420
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x466ba0.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.0047a260
add esp, 0xc
jmp case.0x466ba0.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.00479de0
add esp, 0xc
jmp case.0x466ba0.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.00492fb0
add esp, 0xc
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446b10
add esp, 8
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x46c871
jmp 0x46dfd8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xc8], 0
jmp 0x46c8bc
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xd0]
jge 0x46c8f3
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x100]
push eax
call fcn.0045fa60
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
jmp 0x46c8ad
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xf8]
movzx edx, byte [ecx + 3]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0045e350
add esp, 0x14
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov eax, dword [ebp - 0xc4]
cdq
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045fd60
add esp, 4
cmp dword [ebp - 0xc4], 0
jne 0x46c998
jmp 0x46c9c7
cmp dword [ebp - 0xc0], 0
jne 0x46c9a8
jmp 0x46dfd8
push fcn.00446810
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.004600b0
add esp, 0x14
movzx edx, byte [ebp - 0xed]
push edx
mov eax, dword [ebp - 0x100]
push eax
call fcn.0045f420
add esp, 8
jmp case.0x466ba0.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 0x46ca45
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0045fea0
add esp, 4
mov edx, dword [ebp - 0x100]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x46ca45
jmp 0x46dfd8
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
push edx
call fcn.0044edd0
add esp, 0xc
jmp case.0x466ba0.16
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
je 0x46ca79
jmp 0x46e048
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 0x46cabc
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
push ecx
call fcn.0044f310
add esp, 8
test eax, eax
jne 0x46cadf
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045fd60
add esp, 4
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x46cb08
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.0045fe10
add esp, 0xc
jmp case.0x466ba0.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 0x46cb7e
mov edx, dword [ebp - 0x100]
push edx
call fcn.0045fea0
add esp, 4
mov eax, dword [ebp - 0x100]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x46cb7e
jmp 0x46dfd8
cmp dword [ebp - 0xd0], 0
je 0x46cbf7
cmp dword [ebp - 0xd0], 0
jl 0x46cba1
mov edx, dword [ebp - 0xd0]
and edx, 0xf
mov dword [ebp - 0x20c], edx
jmp 0x46cbab
mov dword [ebp - 0x20c], 0xff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
movzx eax, byte [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
push edx
call fcn.0044f370
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x46cbf7
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp case.0x466ba0.16
cmp dword [ebp - 0xd0], 0
jl 0x46cc1e
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx]
push eax
call fcn.0044edd0
add esp, 0xc
jmp case.0x466ba0.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 0x46ccb1
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd4]
mov dword [ebp - 0xbc], ecx
jmp 0x46cc87
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x46cca3
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0xb4]
je 0x46cca3
jmp 0x46cc78
cmp dword [ebp - 0xbc], 0
je 0x46ccb1
jmp case.0x466ba0.16
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0xd8]
cmp edx, dword [ecx + 0x70]
jl 0x46cce6
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00446da0
add esp, 0xc
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0x40
jne 0x46ce92
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.00446ad0
add esp, 8
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x46cd54
jmp 0x46dfd8
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.0045f9c0
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xbc]
mov dword [ecx], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x32]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
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 0x46ce65
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xc0]
je 0x46ce90
mov ecx, 1
mov edx, dword [ebp - 0xc4]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x10], ecx
jmp 0x46ce56
jmp 0x46cea0
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xd8], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd4]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x30], eax
mov edx, dword [edx + 0x34]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
mov dword [eax + 0x38], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0xd4], edx
mov eax, dword [ebp - 0xbc]
add eax, 0x18
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x24]
mov dword [eax + 0x48], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xbc]
mov dx, word [ecx + 0x28]
mov word [eax + 0x32], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x34], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0xd8], 0xffffffff
jmp case.0x466ba0.16
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 4]
add edx, dword [eax + ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xd0]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xcc], edx
push 0x1000
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0045ff80
add esp, 0xc
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x46d02a
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1d8]
mov ecx, dword [ecx + 0x1dc]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1d8], eax
mov dword [edx + 0x1dc], ecx
jmp 0x46d054
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0xc0]
mov ecx, dword [ecx + 0xc4]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], eax
mov dword [edx + 0xc4], ecx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x46d09c
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x210]
mov ecx, dword [edx + 0x1d8]
or ecx, dword [eax + 0x1dc]
jne 0x46d09a
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp 0x46d0d1
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
mov ecx, dword [edx + 0xc0]
or ecx, dword [eax + 0xc4]
jne 0x46d0d1
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xd4], 0
je 0x46d12d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd4]
mov dword [ebp - 0xcc], eax
jmp 0x46d102
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 0x46d110
jmp 0x46d0f3
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 0x46d145
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.0045fc40
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.0045fc40
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x46d1d1
jl 0x46d1bb
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x46d1d1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
cmp dword [edx + 4], 0
jl 0x46d225
jg 0x46d213
mov eax, dword [ebp - 0x220]
cmp dword [eax], 0
jbe 0x46d225
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
cmp dword [eax + 4], 0
jg 0x46d279
jl 0x46d267
mov ecx, dword [ebp - 0x224]
cmp dword [ecx], 0
jae 0x46d279
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x228]
mov eax, dword [ecx]
or eax, dword [edx + 4]
jne 0x46d2e9
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xcc], 0
jmp 0x46d349
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 0x46d37a
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.004665f0
add esp, 4
jmp 0x46d32b
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x18], ecx
mov eax, 1
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 3]
and eax, 8
je 0x46d427
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 0x46d481
lea edx, [ebp - 0xb8]
push edx
call fcn.00464ae0
add esp, 4
push eax
push 0x510ee0
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00446da0
add esp, 0x10
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 8], edx
lea eax, [ebp - 0xb8]
push eax
call fcn.0045f9c0
add esp, 4
jmp case.0x466ba0.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.0045f880
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46d4f7
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00464ae0
add esp, 4
push eax
push 0x510ee4
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0x10
movzx eax, byte [ebp - 0xed]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0045f420
add esp, 8
mov edx, dword [ebp - 0xd0]
push edx
call fcn.0045ff30
add esp, 4
test eax, eax
je 0x46d526
jmp 0x46dfb4
jmp case.0x466ba0.16
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00494e70
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.004579f0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x46d593
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
mov dword [ebp - 8], 0
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx + 4], 0
jne 0x46d5b2
mov edx, dword [ebp - 4]
push edx
call fcn.004646b0
add esp, 4
jmp 0x46d5b9
mov eax, dword [ebp + 8]
mov byte [eax + 0x62], 1
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + 0xc]
mov byte [ebp - 0x11d], dl
movzx eax, byte [ebp - 0x11d]
test eax, eax
jne 0x46d5e6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
and edx, 0x80000
jne 0x46d661
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x124], ecx
movzx edx, byte [ebp - 0x11d]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x124]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0045e860
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 6
jne 0x46d661
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
push eax
push str.database_table_is_locked:__s
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0x10
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00496600
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd0], 0
je 0x46d6c9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00446880
add esp, 8
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 8]
mov dword [eax + 0x5c], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov dword [eax + 8], 0
jmp case.0x466ba0.16
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
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.004960c0
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 2
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.004963a0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 0
jmp case.0x466ba0.16
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x18]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0xc8]
mov dword [edx + 8], 0
cmp dword [ebp - 8], 0
jne 0x46d834
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.00466650
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x46d818
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax + 0x3c], ecx
jmp 0x46d834
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.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], 0
jmp 0x46d8f0
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xd0]
jge 0x46d939
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.004665f0
add esp, 4
jmp 0x46d8e1
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 1
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x20]
call eax
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x65], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 8]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0xb8]
mov dword [edx + 8], 0
cmp dword [ebp - 8], 0
jne 0x46d9ce
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x46d9e9
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xb4]
mov byte [edx + 0x14], 0
jmp case.0x466ba0.16
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x46da4a
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0045fd60
add esp, 4
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
push 0x40
push 0
lea eax, [ebp - 0xc0]
push eax
call fcn.004c36d0
add esp, 0xc
mov ecx, dword [ebp - 0xc8]
push ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.00460060
add esp, 8
movzx eax, word [ebp - 0x9c]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x9c], ax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 8]
push edx
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x2c]
call ecx
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0xd0]
mov dword [edx + 8], 0
cmp dword [ebp - 0x8c], 0
je 0x46db15
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0xed]
push ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.0045f420
add esp, 8
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00460060
add esp, 8
mov edx, dword [ebp - 0xc8]
push edx
call fcn.0045ff30
add esp, 4
test eax, eax
je 0x46db5a
jmp 0x46dfb4
jmp case.0x466ba0.16
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x46db94
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp + 8]
mov byte [eax + 0x65], 1
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov byte [edx + 0x65], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], 0
cmp dword [ebp - 8], 0
jne 0x46dc2f
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x46dc4a
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xd8], eax
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], 0
jmp case.0x466ba0.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 - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0x34], 0
je 0x46de24
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xc4], 0
jmp 0x46dd4f
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
cmp edx, dword [ebp - 0xc8]
jge 0x46dd92
mov eax, dword [ebp - 0xb4]
push eax
call fcn.004665f0
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x28
mov dword [ebp - 0xb4], ecx
jmp 0x46dd40
lea edx, [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x34]
call ecx
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446880
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0xd0]
mov dword [edx + 8], 0
cmp dword [ebp - 8], 0
jne 0x46de15
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], 0
je 0x46de15
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x6c], edx
jmp case.0x466ba0.16
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0045d4c0
add esp, 4
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00451500
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46de8b
mov eax, dword [ebp - 0xcc]
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x466ba0.16
mov edx, dword [ebp - 0xf8]
cmp dword [edx + 0x10], 0
je 0x46dead
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x22c], ecx
jmp 0x46debc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je case.0x466ba0.16
mov edx, dword [ebp - 4]
cmp dword [edx + 0x94], 0
je case.0x466ba0.16
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00466290
add esp, 8
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x98]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x94]
call eax
add esp, 8
mov ecx, dword [ebp - 0x130]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446880
add esp, 8
jmp 0x466a83
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
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.004488e0
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.00463150
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x46df7b
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
mov dword [ebp - 8], 1
movzx ecx, byte [ebp - 0xee]
test ecx, ecx
je 0x46df9b
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.00479eb0
add esp, 8
mov eax, dword [ebp + 8]
add eax, 0x80
push eax
call fcn.00454200
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x46e082
push 0x510f28
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x46df2d
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
push 0x510f40
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00446da0
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x46df2d
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46e015
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x46e043
mov edx, dword [ebp - 8]
push edx
call fcn.004a10e0
add esp, 4
push eax
push 0x510f50
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00446da0
add esp, 0x10
jmp 0x46df2d
mov dword [ebp - 8], 9
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004a10e0
add esp, 4
push eax
push 0x510f54
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00446da0
add esp, 0x10
jmp 0x46df2d
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004bee8a
mov esp, ebp
pop ebp
ret