Function at 0x439550
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x4c0c00]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov dl, byte [ecx + 0x39]
mov byte [ebp - 0xd1], dl
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp + 8]
push eax
call fcn.004358b0
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x58], 7
jne 0x4395e5
jmp 0x4404fe
mov edx, dword [ebp + 8]
mov dword [edx + 0x58], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1a0], 0
mov edx, dword [ebp - 4]
cmp dword [edx + 0xd8], 0
je 0x439617
jmp 0x440575
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xc0], ecx
jmp 0x439634
mov edx, dword [ebp - 0xc0]
add edx, 1
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 8], 0
jne 0x44049a
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x43964e
jmp 0x4404fe
mov edx, dword [ebp - 0xc0]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x14]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x100], 0
je 0x4396de
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x108]
cmp eax, dword [ebp - 0xc4]
jne 0x4396cf
xor ecx, ecx
je 0x439689
jmp 0x440529
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 - 0xe8], eax
xor eax, eax
je 0x4396b0
jmp 0x440529
cmp dword [ebp - 0xe8], 0
je 0x4396c5
mov dword [ebp - 8], 9
jmp 0x44049a
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx]
mov cl, byte [eax + 0x4ae2a8]
mov byte [ebp - 0xe1], cl
movzx edx, byte [ebp - 0xe1]
and edx, 2
je 0x439747
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00433c40
add esp, 4
mov ecx, 1
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], 0
jmp 0x439819
movzx ecx, byte [ebp - 0xe1]
and ecx, 4
je 0x4397cf
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xdc], eax
movzx edx, byte [ebp - 0xe1]
and edx, 8
je 0x4397a9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
jmp 0x4397cd
movzx eax, byte [ebp - 0xe1]
and eax, 0x10
je 0x4397cd
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xbc], edx
jmp 0x439819
movzx ecx, byte [ebp - 0xe1]
and ecx, 8
je 0x4397f5
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xd0], eax
jmp 0x439819
movzx edx, byte [ebp - 0xe1]
and edx, 0x10
je 0x439819
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
sub edx, 1
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0x90
ja case.0x43984d.11
mov eax, dword [ebp - 0x110]
jmp dword [eax*4 + 0x4405c0]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xd8], 0
je 0x439865
jmp 0x440575
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xdc], edx
mov ecx, 4
mov edx, dword [ebp - 0xdc]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc0]
cdq
mov ecx, dword [ebp - 0xdc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx]
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, 4
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc0]
cdq
mov ecx, dword [ebp - 0xdc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xbc]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne case.0x43984d.39
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 4], 0
jne 0x4399de
mov eax, dword [ebp + 8]
cmp dword [eax + 0xbc], 0
je 0x4399de
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0xbc], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00435d10
add esp, 8
mov eax, dword [ebp - 0xec]
push eax
call fcn.00434b90
add esp, 4
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 8], 4
jne 0x4399d9
mov edx, dword [ebp - 0xc0]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + edx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dl, byte [ecx + 8]
mov byte [eax + 0x38], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x10], 0
je 0x439a36
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
push 0x4bc688
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00438030
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.004346c0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x439a5d
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x439a70
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
neg edx
sbb edx, edx
and edx, 0xffffff9c
add edx, 0x65
mov dword [ebp - 8], edx
jmp 0x4404c6
mov eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43984d.11
mov edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp case.0x43984d.11
mov eax, 8
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xc8]
fld qword [eax]
fstp qword [ecx + 8]
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov byte [edx], 0x1d
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00427960
add esp, 4
mov edx, dword [ebp - 0xd8]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0xd1]
cmp eax, 1
je 0x439c08
push 0
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004334a0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jne 0x439b54
jmp 0x4404dd
movzx ecx, byte [ebp - 0xd1]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00436480
add esp, 8
test eax, eax
je 0x439b74
jmp 0x4404fe
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
or edx, 0x800
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xfffffbff
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd8]
movsx edx, byte [ecx + 1]
cmp edx, 0xffffffff
jne 0x439bda
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00425ae0
add esp, 8
mov eax, dword [ebp - 0xd8]
mov byte [eax + 1], 0xff
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x18]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x48]
jle case.0x43984d.28
jmp 0x4404dd
mov ecx, 0xa02
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xd1]
mov byte [eax + 0x1f], cl
jmp case.0x43984d.11
push 0
push 0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004334a0
add esp, 0x14
mov ecx, dword [ebp - 0xc8]
mov dl, byte [ebp - 0xd1]
mov byte [ecx + 0x1f], dl
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
test eax, eax
jle 0x439d90
mov edx, dword [ebp - 0xb8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x3c]
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xac]
push edx
call fcn.00447840
add esp, 4
test eax, eax
je 0x439d2e
jmp 0x4404dd
mov eax, dword [ebp - 0xb4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00433c40
add esp, 4
mov ecx, 1
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
push 0x800
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00447890
add esp, 0xc
jmp 0x439cd5
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb0]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xdc], edx
mov ecx, dword [ebp - 0xac]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
sub ecx, 1
mov dword [ebp - 0xb4], ecx
test eax, eax
je 0x439e66
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004392b0
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xb8]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xdc]
add eax, 0x28
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xc8]
add ecx, 0x28
mov dword [ebp - 0xc8], ecx
jmp 0x439dec
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xc8], eax
push 0x1000
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00447890
add esp, 0xc
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0x1000
je 0x439ec8
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00433aa0
add esp, 4
test eax, eax
je 0x439ec8
jmp 0x4404fe
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xc8], edx
push 0x1000
mov ecx, dword [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00447890
add esp, 0xc
jmp case.0x43984d.11
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00435370
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x439f21
jmp case.0x43984d.11
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0
jmp 0x439f72
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [edx + 8]
jge 0x439fb5
mov ecx, dword [ebp - 0xb4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xb8]
push ecx
call fcn.00436d30
add esp, 4
mov edx, dword [ebp - 0xb4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xb8]
push edx
call fcn.00439410
add esp, 4
jmp 0x439f63
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x439fc5
jmp 0x4404fe
mov edx, dword [ebp - 0xc0]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x54], edx
mov dword [ebp - 8], 0x64
jmp 0x4404c6
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xd0]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x43a00f
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00433e00
add esp, 4
jmp case.0x43984d.11
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x43a038
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x114], eax
jmp 0x43a042
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0x114], 0
jne 0x43a087
mov eax, dword [ebp - 0xd0]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x43a074
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x118], eax
jmp 0x43a07e
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0
je 0x43a08c
jmp 0x4404fe
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x43a0bb
movzx edx, byte [ebp - 0xd1]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00436db0
add esp, 8
test eax, eax
je 0x43a0bb
jmp 0x4404fe
mov ecx, dword [ebp - 0xd0]
movzx edx, word [ecx + 0x1c]
and edx, 0x12
jne 0x43a0ea
movzx eax, byte [ebp - 0xd1]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00436db0
add esp, 8
test eax, eax
je 0x43a0ea
jmp 0x4404fe
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0xd0]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x11c]
jl 0x43a13f
jg 0x43a13a
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0x120]
jbe 0x43a13f
jmp 0x4404dd
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 2
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xc8]
xor eax, eax
cmp edx, dword [ebp - 0xd0]
sete al
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 2
push ecx
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004337e0
add esp, 0xc
test eax, eax
je 0x43a18f
jmp 0x4404fe
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0xd0]
je 0x43a1c3
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x14]
push eax
call fcn.0048eb00
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0xd0]
add eax, dword [ecx + 0x18]
push eax
call fcn.0048eb00
add esp, 0xc
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x14]
mov byte [edx + ecx], 0
mov edx, dword [ebp - 0xb8]
add edx, 1
mov eax, dword [ebp - 0xb4]
adc eax, 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 0x14]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xd1]
mov byte [eax + 0x1f], cl
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00439470
add esp, 4
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00439470
add esp, 4
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xd0]
movzx ecx, word [eax + 0x1c]
or edx, ecx
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0xb8]
and edx, 1
je 0x43a2ab
jmp 0x43a69f
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x43a4ce
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xa8], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x124]
sub eax, 0x54
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 3
ja case.default.0x43a329
mov ecx, dword [ebp - 0x124]
jmp dword [ecx*4 + 0x440804]
mov edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa4]
adc eax, dword [ebp - 0xac]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], eax
jmp 0x43a495
mov ecx, dword [ebp - 0xa8]
sub ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xa4]
sbb edx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], edx
jmp 0x43a495
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.0048efa0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jmp 0x43a495
mov ecx, dword [ebp - 0xb0]
or ecx, dword [ebp - 0xac]
jne 0x43a3c7
jmp 0x43a69f
mov edx, dword [ebp - 0xb0]
and edx, dword [ebp - 0xac]
cmp edx, 0xffffffff
jne 0x43a401
cmp dword [ebp - 0xa8], 0
jne 0x43a401
cmp dword [ebp - 0xa4], 0x80000000
jne 0x43a401
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.004918e0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jmp 0x43a495
mov ecx, dword [ebp - 0xb0]
or ecx, dword [ebp - 0xac]
jne 0x43a443
jmp 0x43a69f
mov edx, dword [ebp - 0xb0]
and edx, dword [ebp - 0xac]
cmp edx, 0xffffffff
jne 0x43a468
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00492570
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xa8]
mov dword [ecx], edx
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
jmp 0x43a69a
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00436ed0
add esp, 4
fstp qword [ebp - 0xa0]
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00436ed0
add esp, 4
fstp qword [ebp - 0x98]
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
sub edx, 0x54
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 3
ja case.default.0x43a525
mov eax, dword [ebp - 0x128]
jmp dword [eax*4 + 0x440814]
fld qword [ebp - 0x98]
fadd qword [ebp - 0xa0]
fstp qword [ebp - 0x98]
jmp 0x43a63b
fld qword [ebp - 0x98]
fsub qword [ebp - 0xa0]
fstp qword [ebp - 0x98]
jmp 0x43a63b
fld qword [ebp - 0x98]
fmul qword [ebp - 0xa0]
fstp qword [ebp - 0x98]
jmp 0x43a63b
fldz
fcomp qword [ebp - 0xa0]
fnstsw ax
test ah, 0x44
jp 0x43a585
jmp 0x43a69f
fld qword [ebp - 0x98]
fdiv qword [ebp - 0xa0]
fstp qword [ebp - 0x98]
jmp 0x43a63b
fld qword [ebp - 0xa0]
call fcn.00492436
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
fld qword [ebp - 0x98]
call fcn.00492436
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0xb0]
or ecx, dword [ebp - 0xac]
jne 0x43a5dd
jmp 0x43a69f
mov edx, dword [ebp - 0xb0]
and edx, dword [ebp - 0xac]
cmp edx, 0xffffffff
jne 0x43a602
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00492570
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
fstp qword [ebp - 0x98]
sub esp, 8
fld qword [ebp - 0x98]
fstp qword [esp]
call fcn.00427920
add esp, 8
test eax, eax
je 0x43a655
jmp 0x43a69f
mov ecx, dword [ebp - 0xc8]
fld qword [ebp - 0x98]
fstp qword [ecx + 8]
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 8
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xb8]
and edx, 8
jne 0x43a69a
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004475f0
add esp, 4
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00433e00
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb8], 0
jmp 0x43a710
mov eax, dword [ebp - 0xb8]
add eax, 1
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x28
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x6c]
jge 0x43a73e
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0xb4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00439410
add esp, 4
jmp 0x43a6f2
mov ecx, dword [ebp - 0xd8]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffb
jne 0x43a768
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], 0
jmp 0x43a785
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, 1
mov word [ebp - 0x8c], ax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0xc8]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.004392b0
add esp, 8
movzx ecx, word [ebp - 0x8c]
and ecx, 0xffffbf00
or ecx, 1
mov word [ebp - 0x8c], cx
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 3]
and eax, 8
je 0x43a815
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx - 4]
mov dword [ebp - 0x78], edx
xor eax, eax
je 0x43a81e
jmp 0x440529
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
xor eax, eax
je 0x43a853
lea ecx, [ebp - 0xa8]
push ecx
call fcn.00433bf0
add esp, 4
jmp 0x440529
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x43a872
lea ecx, [ebp - 0xa8]
push ecx
call fcn.00433bf0
add esp, 4
jmp 0x4404fe
cmp dword [ebp - 0xac], 0
je 0x43a8ad
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00435c90
add esp, 8
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xac]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 1], 0xf9
cmp dword [ebp - 0x7c], 0
je 0x43a8e1
lea edx, [ebp - 0xa8]
push edx
call fcn.00437260
add esp, 4
push eax
push 0x4bc68c
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00438030
add esp, 0x10
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 8], edx
movzx eax, byte [ebp - 0xd1]
push eax
lea ecx, [ebp - 0xa8]
push ecx
call fcn.00436480
add esp, 8
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004392b0
add esp, 8
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00447840
add esp, 4
test eax, eax
je 0x43a926
jmp 0x4404dd
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
mov ecx, dword [ebp - 0xd0]
movzx edx, word [ecx + 0x1c]
or eax, edx
and eax, 1
je 0x43a95a
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00433e00
add esp, 4
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00436f90
add esp, 4
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00436f90
add esp, 4
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax]
mov byte [ebp - 0x134], cl
cmp byte [ebp - 0x134], 0x50
je 0x43a9bb
cmp byte [ebp - 0x134], 0x51
je 0x43a9e1
cmp byte [ebp - 0x134], 0x52
je 0x43aa07
jmp 0x43aa2c
mov edx, dword [ebp - 0xb8]
and edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
and eax, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
jmp 0x43aa4f
mov ecx, dword [ebp - 0xb8]
or ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb4]
or edx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
jmp 0x43aa4f
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
call fcn.00492bf0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x43aa4f
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
call fcn.00490fb0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xc8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00447680
add esp, 4
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 0xdc]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0xdc]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x43984d.11
movzx eax, byte [ebp - 0xd1]
push eax
push 0x63
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00448d50
add esp, 0xc
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 4
jne 0x43ab14
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 8], 0
jne 0x43ab00
mov dword [ebp - 8], 0x14
jmp 0x440530
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp 0x43ab31
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xdc]
mov word [eax + 0x1c], dx
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 4
je 0x43ab54
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00439520
add esp, 4
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x43ab6d
jmp case.0x43984d.11
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
movzx edx, byte [ebp - 0xd1]
push edx
push 0x61
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00448d50
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x43abd5
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x138], eax
jmp 0x43abdf
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbfe3
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x43ac1a
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 0x10
jne 0x43ac60
movzx eax, byte [ebp - 0xd1]
push eax
push 0x61
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00448d50
add esp, 0xc
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 0x10
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
jmp 0x43ac79
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 0xffffff10
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 0xd
jne 0x43ac9c
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.004476c0
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x43acbf
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00447680
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x43ace2
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00439520
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
mov ecx, dword [ebp - 0xbc]
movzx edx, word [ecx + 0x1c]
or eax, edx
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
and eax, 1
je 0x43ad7a
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x43ad54
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xc8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
jmp 0x43ad75
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x43ad75
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
and edx, 0x67
mov byte [ebp - 0xb0], dl
movsx eax, byte [ebp - 0xb0]
test eax, eax
je 0x43ade6
movzx ecx, byte [ebp - 0xd1]
push ecx
movzx edx, byte [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00448d50
add esp, 0xc
movzx ecx, byte [ebp - 0xd1]
push ecx
movzx edx, byte [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00448d50
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x43ade6
jmp 0x4404fe
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x43ae0f
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x13c], eax
jmp 0x43ae19
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xbc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x43ae42
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x140], eax
jmp 0x43ae4c
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00447900
add esp, 0xc
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x144]
sub eax, 0x49
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 4
ja case.default.0x43ae9f
mov ecx, dword [ebp - 0x144]
jmp dword [ecx*4 + 0x440824]
xor edx, edx
cmp dword [ebp - 0xb4], 0
sete dl
mov dword [ebp - 0xb4], edx
jmp 0x43af1c
xor eax, eax
cmp dword [ebp - 0xb4], 0
setne al
mov dword [ebp - 0xb4], eax
jmp 0x43af1c
xor ecx, ecx
cmp dword [ebp - 0xb4], 0
setl cl
mov dword [ebp - 0xb4], ecx
jmp 0x43af1c
xor edx, edx
cmp dword [ebp - 0xb4], 0
setle dl
mov dword [ebp - 0xb4], edx
jmp 0x43af1c
xor eax, eax
cmp dword [ebp - 0xb4], 0
setg al
mov dword [ebp - 0xb4], eax
jmp 0x43af1c
xor ecx, ecx
cmp dword [ebp - 0xb4], 0
setge cl
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x43af74
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xb4]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x43af8f
cmp dword [ebp - 0xb4], 0
je 0x43af8f
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xcc], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xb4], 0
jmp 0x43afff
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xb8]
jge 0x43b0e0
cmp dword [ebp - 0xcc], 0
je 0x43b031
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x148], eax
jmp 0x43b03d
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xac]
add edx, dword [ebp - 0xa4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
push edx
mov ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0xa4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
push ecx
call fcn.00447900
add esp, 0xc
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x43b0db
cmp dword [ebp - 0x9c], 0
je 0x43b0d9
mov eax, dword [ebp - 0xe0]
neg eax
mov dword [ebp - 0xe0], eax
jmp 0x43b0e0
jmp 0x43aff0
mov dword [ebp - 0xcc], 0
jmp case.0x43984d.11
cmp dword [ebp - 0xe0], 0
jge 0x43b10c
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp 0x43b13b
cmp dword [ebp - 0xe0], 0
jne 0x43b129
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x43b13b
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x43b15b
mov dword [ebp - 0xb8], 2
jmp 0x43b1a6
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00436f90
add esp, 4
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x150]
or ecx, dword [ebp - 0x14c]
je 0x43b190
mov dword [ebp - 0x154], 1
jmp 0x43b19a
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xd0]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x43b1c1
mov dword [ebp - 0xb4], 2
jmp 0x43b20c
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00436f90
add esp, 4
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x15c]
or eax, dword [ebp - 0x158]
je 0x43b1f6
mov dword [ebp - 0x160], 1
jmp 0x43b200
mov dword [ebp - 0x160], 0
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx]
cmp eax, 0x43
jne 0x43b239
mov ecx, dword [ebp - 0xb8]
imul ecx, ecx, 3
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ecx + edx + 0x4ae274]
mov dword [ebp - 0xb8], eax
jmp 0x43b256
mov ecx, dword [ebp - 0xb8]
imul ecx, ecx, 3
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ecx + edx + 0x4ae33c]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 2
jne 0x43b27e
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 1
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
jmp 0x43b2ac
mov eax, dword [ebp - 0xb8]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x43b2e9
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00433e00
add esp, 4
jmp 0x43b340
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00436f90
add esp, 4
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x168]
or eax, dword [ebp - 0x164]
jne 0x43b31e
mov dword [ebp - 0x16c], 1
jmp 0x43b328
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x16c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00437440
add esp, 0xc
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x43b37d
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00433e00
add esp, 4
jmp 0x43b3a1
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00436f90
add esp, 4
not eax
not edx
push edx
push eax
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00437440
add esp, 0xc
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x43b3c6
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xb8], ecx
jmp 0x43b424
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00436ed0
add esp, 4
fcomp qword [0x4b0f90]
fnstsw ax
test ah, 0x44
jnp 0x43b3ee
mov dword [ebp - 0x170], 1
jmp 0x43b3f8
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx]
cmp edx, 0x44
jne 0x43b424
xor eax, eax
cmp dword [ebp - 0xb8], 0
sete al
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x43b43f
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x43b465
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x43b48b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], 0
push 0x28
push 0
lea eax, [ebp - 0x78]
push eax
call fcn.0048e260
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0x7c]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 1
mov eax, dword [ebp - 0x7c]
mov word [eax + 0x1c], dx
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x43b5e6
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00447d90
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43b54b
jmp 0x440530
mov edx, dword [ebp - 0xa0]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x43b565
mov dword [ebp - 0xb8], 0
jmp 0x43b5e4
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
cmp eax, dword [edx + 0x50]
jne 0x43b596
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x9c], ecx
jmp 0x43b5e4
mov edx, dword [ebp - 0xa0]
movzx eax, byte [edx + 0x17]
test eax, eax
je 0x43b5cb
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.00432d60
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], eax
jmp 0x43b5e4
lea ecx, [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.00441460
add esp, 8
mov dword [ebp - 8], eax
jmp 0x43b661
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0x24], 0
jle 0x43b657
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x24]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x43b63a
mov dword [ebp - 0x174], 0
jmp 0x43b646
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x174]
mov dword [eax + 0x44], ecx
jmp 0x43b661
mov dword [ebp - 0xb8], 0
cmp dword [ebp - 0xb8], 0
jne 0x43b66f
jmp 0x43bb7c
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [edx + 0x48]
jbe 0x43b682
jmp 0x4404dd
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [eax + 0x50]
jne 0x43b6c5
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x90], eax
jmp 0x43b9fe
mov dword [ebp - 0x34], 0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x94]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x90]
mov dword [ecx + 0x50], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x44], ecx
cmp dword [ebp - 0x9c], 0
je 0x43b722
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x80], edx
jmp 0x43b78d
mov eax, dword [ebp - 0xa0]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x43b748
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x98]
push eax
call fcn.00441610
add esp, 8
mov dword [ebp - 0x80], eax
jmp 0x43b75e
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.00441710
add esp, 8
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x34]
ja 0x43b780
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x54], eax
jmp 0x43b78d
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x80]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x43b7af
mov ecx, dword [ebp - 0x80]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x178], 1
jmp 0x43b7c8
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.004315d0
add esp, 8
movzx edx, al
mov dword [ebp - 0x178], edx
movzx eax, byte [ebp - 0x178]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], 0x18003
jbe 0x43b7e7
mov dword [ebp - 8], 0xb
jmp 0x43bb7c
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x48]
jle 0x43b80d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x9c], 0
jne 0x43b869
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x88]
jge 0x43b869
xor edx, edx
mov word [ebp - 0x5c], dx
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx + 0x17]
push edx
mov eax, dword [ebp - 0x88]
push eax
push 0
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.00447c40
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43b863
jmp 0x43bb7c
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x84], 0
jmp 0x43b8a4
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x8c]
jge 0x43b977
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
jae 0x43b95f
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x90]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x43b903
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x94]
mov dword [eax + edx*4], ecx
mov dword [ebp - 0x17c], 1
jmp 0x43b928
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x94]
lea eax, [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.004315d0
add esp, 8
movzx edx, al
mov dword [ebp - 0x17c], edx
movzx eax, byte [ebp - 0x17c]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + ecx*4]
push eax
call fcn.00448070
add esp, 4
xor ecx, ecx
add eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
adc edx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x43b972
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + eax*4], 0
jmp 0x43b895
lea edx, [ebp - 0x78]
push edx
call fcn.00433bf0
add esp, 4
mov eax, 1
mov word [ebp - 0x5c], ax
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x4c]
ja 0x43b9f2
mov edx, dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x180]
ja 0x43b9f2
jb 0x43b9c0
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x184]
ja 0x43b9f2
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
jne 0x43b9fe
mov ecx, dword [ebp - 0xb8]
xor edx, edx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x18c]
jne 0x43b9f2
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x188]
je 0x43b9fe
mov dword [ebp - 8], 0xb
jmp 0x43bb7c
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x90]
cmp dword [eax + edx*4], 0
je 0x43bb05
cmp dword [ebp - 0x9c], 0
je 0x43ba60
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00433c40
add esp, 4
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x9c]
add edx, dword [ecx + eax*4]
push edx
call fcn.004481d0
add esp, 0xc
jmp 0x43baf7
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00448070
add esp, 4
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.004392b0
add esp, 8
lea edx, [ebp - 0x78]
push edx
mov eax, dword [ebp - 0xa0]
movzx ecx, byte [eax + 0x17]
push ecx
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x98]
push eax
call fcn.00447c40
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43bad1
jmp 0x43bb7c
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.004481d0
add esp, 0xc
mov ecx, dword [ebp - 0x7c]
mov dl, byte [ebp - 0xd1]
mov byte [ecx + 0x1f], dl
jmp 0x43bb2f
mov eax, dword [ebp - 0xd8]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff8
jne 0x43bb2f
push 0x800
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00447890
add esp, 0xc
cmp dword [ebp - 0x54], 0
je 0x43bb6d
mov edx, dword [ebp - 0x7c]
movzx eax, word [edx + 0x1c]
and eax, 0xffffe7ff
mov ecx, dword [ebp - 0x7c]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x7c]
movzx eax, word [edx + 0x1c]
or eax, 0x200
mov ecx, dword [ebp - 0x7c]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x64]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x54]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.00433aa0
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0xac], edx
jmp 0x43bbe0
mov eax, dword [ebp - 0xac]
add eax, 0x28
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0xb0]
ja 0x43bc5b
mov edx, dword [ebp - 0xac]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x43bc16
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x190], eax
jmp 0x43bc20
mov dword [ebp - 0x190], 0
movzx edx, byte [ebp - 0xd1]
push edx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb4]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00448d50
add esp, 0xc
jmp 0x43bbd1
jmp case.0x43984d.11
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x84]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x84]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x63]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], ecx
jmp 0x43bd1a
mov edx, dword [ebp - 0xb4]
add edx, 0x28
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x88]
ja 0x43be35
cmp dword [ebp - 0x80], 0
je 0x43bd65
movzx ecx, byte [ebp - 0xd1]
push ecx
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0x8c]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x80]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00448d50
add esp, 0xc
mov edx, dword [ebp - 0xb4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x43bd91
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x18], 0
jle 0x43bd91
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00433b50
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00447f00
add esp, 8
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
push edx
call fcn.00448070
add esp, 4
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cdq
add eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
adc ecx, edx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x90]
xor eax, eax
push eax
push edx
call fcn.004409d0
add esp, 8
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xb4]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x43be20
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x98]
add ecx, dword [eax]
mov dword [ebp - 0x98], ecx
jmp 0x43be30
cmp dword [ebp - 0x74], 0
je 0x43be30
mov dword [ebp - 0x98], 0
jmp 0x43bd0b
mov eax, dword [ebp - 0xa8]
cdq
push edx
push eax
call fcn.004409d0
add esp, 8
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0xa8]
add edx, dword [ebp - 0x94]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
cdq
push edx
push eax
call fcn.004409d0
add esp, 8
cmp dword [ebp - 0x94], eax
jge 0x43be86
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0xb0]
adc esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x98]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x48]
cdq
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0x194]
jl 0x43beea
jg 0x43bee5
mov ecx, dword [ebp - 0xa0]
cmp ecx, dword [ebp - 0x198]
jbe 0x43beea
jmp 0x4404dd
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xc8], eax
push 0
mov edx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004337e0
add esp, 0xc
test eax, eax
je 0x43bf23
jmp 0x4404fe
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xa8], 0x80
jae 0x43bf58
mov eax, dword [ebp - 0xb8]
mov cl, byte [ebp - 0xa8]
mov byte [eax], cl
mov dword [ebp - 0x19c], 1
jmp 0x43bf74
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00440840
add esp, 8
mov dword [ebp - 0x19c], eax
movzx ecx, byte [ebp - 0x19c]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], edx
jmp 0x43bf9b
mov eax, dword [ebp - 0xb4]
add eax, 0x28
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0x88]
ja 0x43c01c
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00447f00
add esp, 8
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x80
jae 0x43bfeb
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x90]
mov byte [ecx], dl
mov dword [ebp - 0x1a0], 1
jmp 0x43c00a
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0x78]
push ecx
call fcn.00440840
add esp, 8
mov dword [ebp - 0x1a0], eax
movzx edx, byte [ebp - 0x1a0]
add edx, dword [ebp - 0x78]
mov dword [ebp - 0x78], edx
jmp 0x43bf8c
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], eax
jmp 0x43c039
mov ecx, dword [ebp - 0xb4]
add ecx, 0x28
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x88]
ja 0x43c081
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov eax, dword [ebp - 0x78]
cdq
mov ecx, dword [ebp - 0xa0]
sub ecx, eax
mov eax, dword [ebp - 0x9c]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0x78]
push ecx
call fcn.004480a0
add esp, 0x10
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x78], eax
jmp 0x43c02a
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], edx
mov ecx, 0x410
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0x98], 0
je 0x43c0dd
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x98]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc8]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1f], 1
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
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 - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x43c12a
lea ecx, [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00446340
add esp, 8
mov dword [ebp - 8], eax
jmp 0x43c13e
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 4], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb8], 0
jne 0x43c28e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x90], 0
jle 0x43c1c4
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00438030
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x43c289
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00427960
add esp, 4
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
add ecx, 9
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00425d80
add esp, 8
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x43c289
mov eax, dword [ebp - 0xac]
add eax, 8
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb0]
add edx, 1
push edx
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx]
push edx
call fcn.0048eb00
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x43c253
mov edx, dword [ebp - 4]
mov byte [edx + 0x1c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x1d4], 1
jmp 0x43c268
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1cc]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1cc], edx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xac]
mov dword [ecx + 0x1c8], edx
jmp 0x43c584
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c8]
mov dword [ebp - 0xa8], ecx
jmp 0x43c2b8
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x43c2ee
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx]
push eax
call fcn.004279a0
add esp, 8
test eax, eax
je 0x43c2ee
mov ecx, dword [ebp - 0xa0]
add ecx, 1
mov dword [ebp - 0xa0], ecx
jmp 0x43c2a9
cmp dword [ebp - 0xa8], 0
jne 0x43c322
mov edx, dword [ebp - 0xb4]
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.00438030
add esp, 0x10
mov dword [ebp - 8], 1
jmp 0x43c584
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 0
jg 0x43c343
cmp dword [ebp - 0xb8], 2
jne 0x43c38d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x43c38d
cmp dword [ebp - 0xb8], 2
jne 0x43c358
mov dword [ebp - 0x1a4], str.rollback
jmp 0x43c362
mov dword [ebp - 0x1a4], str.release
mov ecx, dword [ebp - 0x1a4]
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.00438030
add esp, 0x10
mov dword [ebp - 8], 5
jmp 0x43c584
mov ecx, dword [ebp - 0xa8]
cmp dword [ecx + 4], 0
jne 0x43c3b3
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x1d4]
test eax, eax
je 0x43c3b3
mov dword [ebp - 0x1a8], 1
jmp 0x43c3bd
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
je 0x43c433
cmp dword [ebp - 0xb8], 1
jne 0x43c433
mov edx, dword [ebp - 4]
mov byte [edx + 0x1c], 1
mov eax, dword [ebp + 8]
push eax
call fcn.004346c0
add esp, 4
cmp eax, 5
jne 0x43c41b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x54], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 0
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x58], edx
jmp 0x4404c6
mov eax, dword [ebp - 4]
mov byte [eax + 0x1d4], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov dword [ebp - 8], edx
jmp 0x43c4dc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1cc]
sub ecx, dword [ebp - 0xa0]
sub ecx, 1
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], 0
jmp 0x43c466
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [eax + 4]
jge 0x43c4ae
mov edx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0x9c]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00435460
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c4ac
jmp 0x440530
jmp 0x43c457
cmp dword [ebp - 0xb8], 2
jne 0x43c4dc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
and eax, 0x10
je 0x43c4dc
mov ecx, dword [ebp - 4]
push ecx
call fcn.00448c00
add esp, 4
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.0044b4b0
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c8]
cmp ecx, dword [ebp - 0xa8]
je 0x43c538
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c8]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 4]
mov dword [ecx + 0x1c8], eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00425ae0
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1cc]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1cc], ecx
jmp 0x43c4dc
cmp dword [ebp - 0xb8], 1
jne 0x43c584
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1c8], edx
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00425ae0
add esp, 8
cmp dword [ebp - 0xf0], 0
jne 0x43c584
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1cc]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1cc], eax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb8], 0
je 0x43c5c7
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x43c5c7
mov dword [ebp - 0x1ac], 1
jmp 0x43c5d1
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0
je 0x43c61f
cmp dword [ebp - 0xb4], 0
je 0x43c61f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x43c61f
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.00438030
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x43c76e
cmp dword [ebp - 0xb0], 0
je 0x43c661
cmp dword [ebp - 0xb4], 0
jne 0x43c661
mov eax, dword [ebp - 4]
cmp dword [eax + 0x90], 0
jle 0x43c661
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.00438030
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x43c76e
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0xb8], ecx
je 0x43c70d
cmp dword [ebp - 0xb4], 0
je 0x43c692
mov edx, dword [ebp - 4]
push edx
call fcn.0047b0b0
add esp, 4
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
jmp 0x43c6e1
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xb8]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp + 8]
push eax
call fcn.004346c0
add esp, 4
cmp eax, 5
jne 0x43c6e1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x54], edx
mov eax, 1
sub eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], al
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x4404c6
mov ecx, dword [ebp - 4]
push ecx
call fcn.0047abf0
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 0
jne 0x43c6ff
mov dword [ebp - 8], 0x65
jmp 0x43c706
mov dword [ebp - 8], 1
jmp 0x4404c6
cmp dword [ebp - 0xb8], 0
jne 0x43c722
mov dword [ebp - 0x1b0], str.cannot_start_a_transaction_within_a_transaction
jmp 0x43c74d
cmp dword [ebp - 0xb4], 0
je 0x43c737
mov dword [ebp - 0x1b4], str.cannot_rollback___no_transaction_is_active
jmp 0x43c741
mov dword [ebp - 0x1b4], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00438030
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
je 0x43c876
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.0042f0a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x43c7df
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x54], ecx
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x4404c6
cmp dword [ebp - 8], 0
je 0x43c7f0
cmp dword [ebp - 8], 8
je 0x43c7f0
jmp 0x440530
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 8], 0
je 0x43c876
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x65]
test eax, eax
je 0x43c876
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x43c81e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 1
jle 0x43c876
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb8], 0
jne 0x43c85a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1d0]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1d0], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1cc]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1d0]
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00441270
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00432560
add esp, 0xc
mov eax, dword [ebp - 0xb8]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00447680
add esp, 4
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 4]
push edx
call fcn.004325b0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 8], 1
jne 0x43c975
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov dword [ecx], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
or eax, 0x10
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x43c995
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 8], 2
jne 0x43c995
mov eax, dword [ebp - 0xbc]
mov cl, byte [eax]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xc]
mov byte [eax + 0x38], cl
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 4], 1
jne 0x43c9ad
mov edx, dword [ebp - 4]
push edx
call fcn.00448c00
add esp, 4
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
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 - 0xb4], ecx
cmp dword [ebp - 0xb4], 0
je 0x43c9f1
lea edx, [ebp - 0xb8]
push edx
push 1
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00432560
add esp, 0xc
jmp 0x43c9fb
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ecx + 8]
je 0x43ca7f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00425ae0
add esp, 8
push 0x4bc820
mov eax, dword [ebp - 4]
push eax
call fcn.00437830
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0xd8]
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 - 0xb8]
je 0x43ca6c
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0044b4b0
add esp, 8
mov edx, dword [ebp - 4]
push edx
call fcn.00448c00
add esp, 4
mov dword [ebp - 8], 0x11
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 8]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x43cb1e
mov dword [ebp - 0xa8], 1
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x38]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x63]
cmp eax, edx
jge 0x43cb1c
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x38]
mov byte [edx + 0x63], al
jmp 0x43cb28
mov dword [ebp - 0xa8], 0
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x43cb7d
mov eax, dword [ebp - 0xb0]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00447680
add esp, 4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 2
jge 0x43cb7d
mov dword [ebp - 8], 0xb
jmp 0x440530
mov edx, dword [ebp - 0xd8]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffffa
jne 0x43cbc7
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dl, byte [eax + 0x39]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0xb4]
movzx ecx, word [eax + 6]
add ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x43cbe5
mov edx, dword [ebp - 0xd8]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff2
jne 0x43cbe5
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb8], edx
push 1
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00448c30
add esp, 0x14
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jne 0x43cc1f
jmp 0x4404fe
mov edx, dword [ebp - 0xa0]
mov byte [edx + 0x14], 1
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
call fcn.004412e0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x28], ecx
cmp dword [ebp - 8], 0x10
jne 0x43cc81
mov edx, dword [ebp - 0xa0]
mov dword [edx], 0
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0xd8]
movsx ecx, byte [eax + 1]
xor edx, edx
cmp ecx, 0xfffffffa
setne dl
mov eax, dword [ebp - 0xa0]
mov byte [eax + 0x16], dl
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx + 0x16]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 0xa0]
mov byte [eax + 0x17], dl
jmp case.0x43984d.11
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00448c30
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x43ccf3
jmp 0x4404fe
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xb8]
add ecx, 0x20
push ecx
mov edx, dword [0x4ae348]
push edx
push 0x1f4
push 1
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.0047b9c0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43cd43
push 1
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x20]
push edx
call fcn.0042f0a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43ce18
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x10], 0
je 0x43cdea
push 2
lea ecx, [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x20]
push eax
call fcn.00445bb0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43cdde
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
push 1
mov edx, dword [ebp - 0xf4]
push edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004412e0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x28]
mov dl, byte [edx + 0x39]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x16], 0
jmp 0x43ce18
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
push edx
push 0
push 1
push 1
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004412e0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x16], 1
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x16]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x17], cl
jmp case.0x43984d.11
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00448c30
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x43ce6f
jmp 0x4404fe
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x14], 1
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x16], 1
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x17], 0
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00433fd0
add esp, 8
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov dword [edx + eax*4], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xb0]
cmp dword [edx], 0
je 0x43d327
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb0]
mov byte [edx + 0x14], 0
mov eax, dword [ebp - 0xb0]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
je 0x43d17a
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00439470
add esp, 4
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00436f90
add esp, 4
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xbc]
movzx eax, word [edx + 0x1c]
and eax, 4
jne 0x43d112
mov ecx, dword [ebp - 0xbc]
movzx edx, word [ecx + 0x1c]
and edx, 8
jne 0x43cf9d
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp case.0x43984d.11
cmp dword [ebp - 0x88], 0
jne 0x43d096
cmp dword [ebp - 0x84], 0x80000000
jne 0x43d096
fild qword [ebp - 0x88]
mov edx, dword [ebp - 0xbc]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
je 0x43cfe6
mov eax, dword [ebp - 0xbc]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x43d096
mov dword [ebp - 0xb8], 1
mov ecx, dword [ebp - 0xbc]
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x43d03c
cmp dword [ebp - 0xb4], 0x79
je 0x43d014
cmp dword [ebp - 0xb4], 0x6b
jne 0x43d03a
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push ecx
call fcn.00441750
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d03a
jmp 0x440530
jmp 0x43d074
cmp dword [ebp - 0xb4], 0x46
je 0x43d04e
cmp dword [ebp - 0xb4], 0x37
jne 0x43d074
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push ecx
call fcn.00441b40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d074
jmp 0x440530
cmp dword [ebp - 0xb8], 0
je 0x43d08f
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
cmp dword [ebp - 0xb4], 0x46
je 0x43d0a8
cmp dword [ebp - 0xb4], 0x6b
jne 0x43d0de
fild qword [ebp - 0x88]
mov ecx, dword [ebp - 0xbc]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x43d0dc
mov edx, dword [ebp - 0x88]
add edx, 1
mov eax, dword [ebp - 0x84]
adc eax, 0
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], eax
jmp 0x43d112
fild qword [ebp - 0x88]
mov ecx, dword [ebp - 0xbc]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x43d112
mov edx, dword [ebp - 0x88]
sub edx, 1
mov eax, dword [ebp - 0x84]
sbb eax, 0
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0xb8]
push ecx
push 0
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
push 0
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d14a
jmp 0x440530
cmp dword [ebp - 0xb8], 0
jne 0x43d175
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x11], 1
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x88]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x84]
mov dword [ecx + 0xc], eax
jmp 0x43d224
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xa8], ecx
mov dx, word [ebp - 0x90]
mov word [ebp - 0xa4], dx
cmp dword [ebp - 0xb4], 0x79
je 0x43d1b8
cmp dword [ebp - 0xb4], 0x37
jne 0x43d1c6
mov eax, 8
mov word [ebp - 0xa2], ax
jmp 0x43d1cf
xor ecx, ecx
mov word [ebp - 0xa2], cx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x98], eax
lea edx, [ebp - 0xb8]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d21a
jmp 0x440530
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xb0]
mov dword [edx + 0x44], 0
cmp dword [ebp - 0xb4], 0x6b
je 0x43d24d
cmp dword [ebp - 0xb4], 0x79
jne 0x43d2a6
cmp dword [ebp - 0xb8], 0
jl 0x43d268
cmp dword [ebp - 0xb8], 0
jne 0x43d29a
cmp dword [ebp - 0xb4], 0x79
jne 0x43d29a
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.004421b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d28e
jmp 0x440530
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x11], 0
jmp 0x43d2a4
mov dword [ebp - 0xb8], 0
jmp 0x43d30a
cmp dword [ebp - 0xb8], 0
jg 0x43d2c1
cmp dword [ebp - 0xb8], 0
jne 0x43d2f3
cmp dword [ebp - 0xb4], 0x46
jne 0x43d2f3
lea ecx, [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
push eax
call fcn.00442410
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d2e7
jmp 0x440530
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 0x11], 0
jmp 0x43d30a
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
push eax
call fcn.00442190
add esp, 4
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x43d325
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp 0x43d339
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx], 0
je 0x43d39a
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x14], 0
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00436f90
add esp, 4
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x15], 1
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0
je 0x43d4d9
mov ecx, dword [ebp - 0xbc]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x43d3f9
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x1b8], eax
jmp 0x43d403
mov dword [ebp - 0x1b8], 0
push 0x97
lea ecx, [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.004484f0
add esp, 0x14
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x43d449
jmp 0x4404fe
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx]
cmp eax, 0x7e
jne 0x43d46e
mov ecx, dword [ebp - 0xac]
movzx edx, word [ecx + 6]
or edx, 0x10
mov eax, dword [ebp - 0xac]
mov word [eax + 6], dx
lea ecx, [ebp - 0xb0]
push ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
push ecx
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xac]
push edx
call fcn.004486e0
add esp, 4
cmp dword [ebp - 8], 0
je 0x43d4b0
jmp case.0x43984d.11
xor eax, eax
cmp dword [ebp - 0xb0], 0
sete al
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x44], 0
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
cmp ecx, 0x7e
jne 0x43d504
cmp dword [ebp - 0xb8], 0
je 0x43d502
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp 0x43d51f
cmp dword [ebp - 0xb8], 0
jne 0x43d51f
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0xd8]
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 dword [edx + 0x40], 0
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x28]
mov dx, word [ecx + 6]
mov word [ebp - 0xac], dx
xor eax, eax
mov word [ebp - 0xb8], ax
jmp 0x43d5ad
mov cx, word [ebp - 0xb8]
add cx, 1
mov word [ebp - 0xb8], cx
movzx edx, word [ebp - 0xb8]
movzx eax, word [ebp - 0xac]
cmp edx, eax
jge 0x43d5f9
movzx ecx, word [ebp - 0xb8]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + ecx + 0x1c]
and eax, 1
je 0x43d5f7
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb0], 0
jmp 0x43d5f9
jmp 0x43d59b
cmp dword [ebp - 0xb0], 0
je 0x43d6e0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xa0], ecx
movzx edx, word [ebp - 0xac]
add edx, 1
mov word [ebp - 0x9c], dx
mov eax, 0x20
mov word [ebp - 0x9a], ax
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00447680
add esp, 4
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov dword [ebp - 0x88], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0xb4]
add eax, 0x40
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
movzx eax, word [ebp - 0x9a]
and eax, 0x20
jne 0x43d6b5
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x88]
jne 0x43d6c9
mov edx, dword [ebp - 0x94]
cmp edx, dword [ebp - 0x84]
jne 0x43d6c9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x43d6e0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x98]
mov dword [edx], eax
mov ecx, dword [ebp - 0x94]
mov dword [edx + 4], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
je 0x43d7dd
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov dword [ebp - 0xa8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xa4], edx
lea eax, [ebp - 0xb0]
push eax
push 0
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xbc]
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 - 0xb0], 0
sete al
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x11], al
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x14], 0
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x15], 0
cmp dword [ebp - 0xb0], 0
je 0x43d7cc
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb0]
mov dword [ecx + 0x40], edx
jmp 0x43d7fc
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x40], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
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 - 0xc8]
mov eax, dword [ecx + 0x30]
mov dword [edx], eax
mov ecx, dword [ecx + 0x34]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xd8]
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 - 0xd8]
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
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb0]
cmp dword [eax], 0
jne 0x43d8c2
jmp 0x43dcb8
mov dword [ebp - 0xa8], 0
mov ecx, dword [ebp - 0xb0]
movzx edx, byte [ecx + 0x13]
test edx, edx
jne 0x43db53
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push ecx
call fcn.00441450
add esp, 4
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0xb8]
or edx, dword [ebp - 0xb4]
jne 0x43d9ac
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00441b40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43d933
jmp 0x440530
cmp dword [ebp - 0xac], 0
je 0x43d952
mov dword [ebp - 0xb8], 1
mov dword [ebp - 0xb4], 0
jmp 0x43d9ac
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00432d60
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xb8], 0xffffffff
jne 0x43d98e
cmp dword [ebp - 0xb4], 0x7fffffff
jne 0x43d98e
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x13], 1
jmp 0x43d9ac
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov edx, dword [ebp - 0xb4]
adc edx, 0
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0xc], 0
je 0x43dae9
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xbc], 0
je 0x43da13
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
mov dword [ebp - 0xa0], eax
jmp 0x43d9e8
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0x3c], 0
je 0x43d9f6
jmp 0x43d9d9
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xa0]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xa4], edx
jmp 0x43da2b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00447680
add esp, 4
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
cmp dword [eax], 0xffffffff
jne 0x43da60
mov ecx, dword [ebp - 0x1bc]
cmp dword [ecx + 4], 0x7fffffff
je 0x43da6e
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 0x13]
test eax, eax
je 0x43da7a
mov dword [ebp - 8], 0xd
jmp 0x440530
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0x1c0]
jg 0x43dad2
jl 0x43dab5
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x1c4]
jae 0x43dad2
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 4], edx
cmp dword [ebp - 0xb4], 0x7fffffff
jg 0x43db20
jl 0x43db00
cmp dword [ebp - 0xb8], 0xffffffff
jae 0x43db20
mov eax, dword [ebp - 0xb8]
add eax, 1
mov ecx, dword [ebp - 0xb4]
adc ecx, 0
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], ecx
jmp 0x43db34
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov edx, dword [ebp - 0x1c8]
push edx
mov eax, dword [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00441400
add esp, 0xc
mov eax, dword [ebp - 0xb0]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x43dc97
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xb8], eax
mov ecx, dword [edx + 0x34]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xa8], 0
cmp dword [ebp - 0xa8], 0
jne 0x43dbea
mov edx, dword [ebp - 0xb8]
and edx, 0xffffff
mov eax, dword [ebp - 0xb4]
and eax, 0
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0xb8]
jne 0x43dbea
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0xb4]
jne 0x43dbea
mov eax, dword [ebp - 0xb8]
add eax, 1
mov ecx, dword [ebp - 0xb4]
adc ecx, 0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
jmp 0x43dc24
lea edx, [ebp - 0xb8]
push edx
push 8
call fcn.00427720
add esp, 8
cmp dword [ebp - 0xa8], 5
jge 0x43dc24
mov eax, dword [ebp - 0xb8]
and eax, 0xffffff
mov ecx, dword [ebp - 0xb4]
and ecx, 0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0xac]
push edx
push 0
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
push 0
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
push eax
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 1
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0x64
jge 0x43dc7c
cmp dword [ebp - 8], 0
jne 0x43dc7c
cmp dword [ebp - 0xac], 0
je 0x43db84
cmp dword [ebp - 8], 0
jne 0x43dc97
cmp dword [ebp - 0xac], 0
jne 0x43dc97
mov dword [ebp - 8], 0xd
jmp 0x440530
mov edx, dword [ebp - 0xb0]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 4], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x43dd6d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x43dd90
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 4]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp - 0xb8]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x43ddb9
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x14], 0
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x18], 0
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x43ddd9
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x1d8], edx
jmp 0x43dde3
mov dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xb8]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x43de11
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xa4], ecx
jmp 0x43de1b
mov dword [ebp - 0xa4], 0
push 0
push 0
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx]
push eax
call fcn.00441400
add esp, 0xc
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
and eax, 8
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
push 0
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx]
push eax
call fcn.00442630
add esp, 0x24
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xa8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xa8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x43df51
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xb8], 0
je 0x43df51
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x10], 0
je 0x43df51
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
and edx, 4
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x18
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 4]
cmp dword [edx + 0xb8], 0
je 0x43dfb2
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x10], 0
je 0x43dfb2
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.00447d90
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43dfcf
jmp 0x440530
push 0
push 0
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
push eax
call fcn.00441400
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
push edx
call fcn.00445870
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x44], 0
cmp dword [ebp - 8], 0
jne 0x43e083
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xb8], 0
je 0x43e083
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x10], 0
je 0x43e083
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0xf8]
push ecx
push 9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x43e0a0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x68], eax
jmp case.0x43984d.11
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00435d10
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00447d90
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43e122
jmp 0x440530
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x17]
test eax, eax
je 0x43e18d
lea ecx, [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00432d60
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x1dc]
jl 0x43e17f
jg 0x43e17a
mov edx, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x1e0]
jbe 0x43e17f
jmp 0x4404dd
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
jmp 0x43e1b9
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00441460
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [eax + 0x48]
jbe 0x43e1b9
jmp 0x4404dd
push 0
mov edx, dword [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.004337e0
add esp, 0xc
test eax, eax
je 0x43e1da
jmp 0x4404fe
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb0]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp - 0xc8]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x43e23b
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00432e60
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x43e260
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00441480
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1f], 1
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x14]
test edx, edx
je 0x43e29f
jmp case.0x43984d.11
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x43e2ca
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xb0], eax
mov ecx, dword [edx + 0x1c]
mov dword [ebp - 0xac], ecx
jmp 0x43e3be
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x38], 0
je 0x43e35e
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov dword [ebp - 0xa4], ecx
xor edx, edx
je 0x43e302
jmp 0x440529
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x30]
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.00425ae0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 8]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0xa8]
mov dword [edx + 8], 0
xor eax, eax
je 0x43e35c
jmp 0x440529
jmp 0x43e3be
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00447d90
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43e37b
jmp 0x440530
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x11]
test eax, eax
je 0x43e3a3
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb0], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xac], eax
jmp 0x43e3be
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
push eax
call fcn.00432d60
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xac]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xb8]
cmp dword [edx], 0
je 0x43e43f
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
push ecx
call fcn.00432d30
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x43e47f
mov dword [ebp - 0xb0], 1
jmp 0x43e498
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00441b40
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
mov al, byte [ebp - 0xb0]
mov byte [edx + 0x14], al
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x15], 0
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 8], 0
jle 0x43e4ef
cmp dword [ebp - 0xb0], 0
je 0x43e4ef
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xac], edx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0
je 0x43e589
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00441750
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
cmp dword [ebp - 0xb0], 0
sete cl
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x12], cl
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x11], 0
jmp 0x43e593
mov dword [ebp - 0xb0], 1
mov eax, dword [ebp - 0xb8]
mov cl, byte [ebp - 0xb0]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0xb0], 0
je 0x43e5bd
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xd8], 0
je 0x43e5d3
jmp 0x440575
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x43e5f9
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x43e61f
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x14], 1
jmp case.0x43984d.11
mov dword [ebp - 0xb0], 1
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx]
cmp edx, 0x68
jne 0x43e655
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.004421b0
add esp, 8
mov dword [ebp - 0x1e4], eax
jmp 0x43e671
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00442410
add esp, 8
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xb8]
mov al, byte [ebp - 0xb0]
mov byte [edx + 0x14], al
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x44], 0
cmp dword [ebp - 0xb0], 0
jne 0x43e6ea
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x43e6ea
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0xa4]
add eax, 1
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0xa4], eax
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x11], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x43e803
mov ecx, dword [ebp - 0xd0]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x43e755
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00433b50
add esp, 4
mov dword [ebp - 0x1e8], eax
jmp 0x43e75f
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
jne 0x43e803
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x43e7b0
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x1ec], eax
jmp 0x43e7ba
mov dword [ebp - 0x1ec], 0
mov ecx, dword [ebp - 0x1ec]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x4c2e46
mov eax, dword [ebp - 0xb0]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00442630
add esp, 0x24
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x44], 0
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0
je 0x43e8d0
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd8]
mov dx, word [ecx + 0xc]
mov word [ebp - 0xa4], dx
xor eax, eax
mov word [ebp - 0xa2], ax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x98], edx
lea ecx, [ebp - 0xb0]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00441c80
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43e8c3
cmp dword [ebp - 0xb0], 0
jne 0x43e8c3
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00445870
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x44], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
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]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x43e98f
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00447d90
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43e925
jmp 0x440530
mov edx, dword [ebp - 0xb4]
movzx eax, byte [edx + 0x14]
test eax, eax
jne 0x43e98f
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004489c0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43e95b
jmp 0x440530
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xac]
mov dword [ecx + 4], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
cmp dword [eax], 0
je 0x43ea83
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xd8]
mov cx, word [eax + 0x10]
mov word [ebp - 0xac], cx
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
test eax, eax
je 0x43e9f7
mov ecx, 0xc
mov word [ebp - 0xaa], cx
jmp 0x43ea03
mov edx, 4
mov word [ebp - 0xaa], dx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xa0], ecx
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00448b30
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
cmp ecx, 0x2a
jne 0x43ea59
mov edx, dword [ebp - 0xb4]
neg edx
mov dword [ebp - 0xb4], edx
jmp 0x43ea68
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jle 0x43ea83
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x88]
mov dword [ebp - 0xb0], ecx
jmp 0x43eab2
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 8]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x43eaf6
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx + 0x44], 0xbdf20da3
jne 0x43eaf4
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 0x64]
cmp eax, 2
jge 0x43eaf4
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx + 0x54], 0
jl 0x43eaf4
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
jmp 0x43eaa3
cmp dword [ebp - 0xb4], 1
jle 0x43eb12
mov dword [ebp - 8], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x38], 2
jmp 0x43ebb8
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xac], edx
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xac]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004460c0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbf00
or edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xb8]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
jne 0x43ebb8
cmp dword [ebp - 0xb8], 0
je 0x43ebb8
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0xac]
shl edx, 4
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
push edx
call fcn.0044bb70
add esp, 0xc
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
neg edx
sbb edx, edx
lea eax, [ebp - 0xb8]
and edx, eax
push edx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xd8]
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.00445e80
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0xc], 0
je 0x43ec6e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0xc], 0
jle 0x43ec6e
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x4c]
mov eax, dword [ebp - 0xb8]
cdq
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4c]
mov dword [edx + esi], eax
mov dword [edx + esi + 4], ecx
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 8]
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax]
cmp ecx, 0x35
jne 0x43ecaf
mov dword [ebp - 0xb4], 5
jmp 0x43ecb9
mov dword [ebp - 0xb4], 2
mov edx, dword [ebp - 0xb4]
push edx
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 4]
push edx
call fcn.00445bb0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xb8]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc8]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbf00
or eax, 4
mov ecx, dword [ebp - 0xc8]
mov word [ecx + 0x1c], ax
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00441080
add esp, 4
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 8], 0
jne 0x43ed56
mov eax, dword [ebp - 0xb8]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
movzx ecx, word [eax + 0x3a]
and ecx, 1
je 0x43ee59
mov edx, 1
test edx, edx
je 0x43ed74
cmp dword [ebp - 0xb8], 1
jne 0x43ed74
mov dword [ebp - 0x1f0], 0x4bc83c
jmp 0x43ed7e
mov dword [ebp - 0x1f0], 0x4bc850
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
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
mov eax, dword [ebp - 4]
push eax
call fcn.004351f0
add esp, 0x14
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jne 0x43edfb
mov dword [ebp - 8], 7
jmp 0x43ee59
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x7c], 1
mov dword [ebp - 0xa0], 0
push 0
lea edx, [ebp - 0xac]
push edx
push fcn.0044ebb0
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0044e2b0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43ee3f
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00425ae0
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x7c], 0
mov eax, dword [ebp - 4]
push eax
call fcn.00441180
add esp, 4
cmp dword [ebp - 8], 7
jne 0x43ee70
jmp 0x4404fe
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0044a270
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0044b690
add esp, 0xc
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0044af20
add esp, 0xc
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00450d10
add esp, 0xc
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00425d80
add esp, 8
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x43ef3f
jmp 0x4404fe
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xb0], 0
jmp 0x43ef8a
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [ebp - 0xb8]
jge 0x43efc1
mov edx, dword [ebp - 0xb0]
imul edx, edx, 0x28
add edx, dword [ebp - 0xdc]
push edx
call fcn.00436f90
add esp, 4
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb4]
mov dword [edx + ecx*4], eax
jmp 0x43ef7b
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xd8]
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.00446500
add esp, 0x14
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00425ae0
add esp, 8
mov eax, dword [ebp - 0xac]
cdq
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00433e00
add esp, 4
cmp dword [ebp - 0xac], 0
jne 0x43f066
jmp 0x43f095
cmp dword [ebp - 0xa8], 0
jne 0x43f076
jmp 0x4404fe
push fcn.00425a70
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.004334a0
add esp, 0x14
movzx edx, byte [ebp - 0xd1]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00436480
add esp, 8
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0xb8]
movzx edx, word [ecx + 0x1c]
and edx, 0x20
jne 0x43f113
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00447740
add esp, 4
mov ecx, dword [ebp - 0xb8]
movzx edx, word [ecx + 0x1c]
and edx, 0x20
jne 0x43f113
jmp 0x4404fe
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
push ecx
call fcn.00440a10
add esp, 0xc
jmp case.0x43984d.11
mov edx, dword [ebp - 4]
cmp dword [edx + 0xd8], 0
je 0x43f147
jmp 0x440575
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xb8]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x43f1a2
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
push ecx
call fcn.00440b10
add esp, 8
test eax, eax
jne 0x43f1c5
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00433e00
add esp, 4
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x43f1e2
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00437440
add esp, 0xc
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 0x20
jne 0x43f228
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00447740
add esp, 4
mov ecx, dword [ebp - 0xdc]
movzx edx, word [ecx + 0x1c]
and edx, 0x20
jne 0x43f228
jmp 0x4404fe
cmp dword [ebp - 0xb8], 0
je 0x43f2a1
cmp dword [ebp - 0xb8], 0
jl 0x43f24b
mov eax, dword [ebp - 0xb8]
and eax, 0xf
mov dword [ebp - 0x1f4], eax
jmp 0x43f255
mov dword [ebp - 0x1f4], 0xff
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
movzx ecx, byte [ebp - 0x1f4]
push ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
push eax
call fcn.00440e80
add esp, 0x10
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x43f2a1
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
cmp dword [ebp - 0xb8], 0
jl 0x43f2c8
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax]
push ecx
call fcn.00440a10
add esp, 0xc
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
and edx, 0x200000
jne 0x43f35b
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
mov dword [ebp - 0xa4], eax
jmp 0x43f331
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0
je 0x43f34d
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [ebp - 0x9c]
je 0x43f34d
jmp 0x43f322
cmp dword [ebp - 0xa4], 0
je 0x43f35b
jmp case.0x43984d.11
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0xc0]
cmp ecx, dword [eax + 0x70]
jle 0x43f390
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00438030
add esp, 0xc
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xb0]
movzx edx, word [ecx + 0x1c]
and edx, 0x40
jne 0x43f53c
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xa0]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xb8]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0xc]
lea eax, [eax + edx*4 + 0x40]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0042a880
add esp, 8
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x43f3fe
jmp 0x4404fe
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00433bf0
add esp, 4
mov ecx, 0x40
mov edx, dword [ebp - 0xb0]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb8]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov cx, word [eax + 0x32]
mov word [edx + 0x1c], cx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xa4]
lea edx, [ecx + eax + 0x40]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x40
mov dword [ebp - 0xac], eax
jmp 0x43f50f
mov ecx, dword [ebp - 0xac]
add ecx, 0x28
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0xa8]
je 0x43f53a
mov eax, 1
mov ecx, dword [ebp - 0xac]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 4]
mov dword [edx + 0x10], eax
jmp 0x43f500
jmp 0x43f54a
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 0xbc], ecx
mov edx, dword [ebp - 0xa4]
add edx, 0x18
mov eax, dword [ebp + 8]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 0x24]
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xa4]
mov ax, word [edx + 0x28]
mov word [ecx + 0x32], ax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
add edx, 1
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], edx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 4]
mov dword [edx + 0xc], ecx
mov dword [ebp - 0xc0], 0xffffffff
jmp case.0x43984d.11
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
add eax, dword [ecx + edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xb8]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xb4], eax
push 0x1000
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00447890
add esp, 0xc
jmp case.0x43984d.11
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xbc], 0
je 0x43f6db
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
mov dword [ebp - 0xb4], eax
jmp 0x43f6b0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x3c], 0
je 0x43f6be
jmp 0x43f6a1
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xb4]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xb8], edx
jmp 0x43f6f3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00447680
add esp, 4
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00447680
add esp, 4
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jg 0x43f767
jl 0x43f751
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jae 0x43f767
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x200]
cmp dword [edx + 4], 0
jl 0x43f7a3
jg 0x43f791
mov eax, dword [ebp - 0x200]
cmp dword [eax], 0
jbe 0x43f7a3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
cmp dword [ecx + 4], 0
jg 0x43f7df
jl 0x43f7cd
mov edx, dword [ebp - 0x204]
cmp dword [edx], 0
jae 0x43f7df
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x208]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x43f815
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 3]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0xb4], 0
jmp 0x43f875
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xac]
add ecx, 0x28
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xb8]
jge 0x43f8a6
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0xac]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xac]
push eax
call fcn.00439410
add esp, 4
jmp 0x43f857
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 0x18]
add edx, 1
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x18], edx
mov ecx, 1
mov word [ebp - 0x84], cx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov edx, dword [ebp - 4]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x43f941
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx - 4]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x10]
call edx
add esp, 0xc
cmp dword [ebp - 0x74], 0
je 0x43f995
lea eax, [ebp - 0xa0]
push eax
call fcn.00437260
add esp, 4
push eax
push 0x4bc8bc
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00438030
add esp, 0x10
mov eax, dword [ebp - 0x74]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0xa0]
push ecx
call fcn.00433bf0
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00433d70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43fa0b
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00437260
add esp, 4
push eax
push 0x4bc8c0
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00438030
add esp, 0x10
movzx edx, byte [ebp - 0xd1]
push edx
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00436480
add esp, 8
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00447840
add esp, 4
test eax, eax
je 0x43fa3a
jmp 0x4404dd
jmp case.0x43984d.11
xor edx, edx
je 0x43fa48
jmp 0x440529
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00450e10
add esp, 8
mov dword [ebp - 8], eax
xor edx, edx
je 0x43fa67
jmp 0x440529
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
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 - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00441200
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x43fab9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 8], 0
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 4], 0
jne 0x43fad8
mov eax, dword [ebp - 4]
push eax
call fcn.00448c00
add esp, 4
jmp 0x43fadf
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x62], 1
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + 0xc]
mov byte [ebp - 0xfd], al
movzx ecx, byte [ebp - 0xfd]
test ecx, ecx
jne 0x43fb0b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
and eax, 0x4000
jne 0x43fb87
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x104], edx
movzx eax, byte [ebp - 0xfd]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x104]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.004474b0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 6
jne 0x43fb87
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
push ecx
push str.database_table_is_locked:__s
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00438030
add esp, 0x10
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00452270
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xb8], 0
je 0x43fbef
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00425ae0
add esp, 8
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 8]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 8]
mov dword [ecx + 8], 0
jmp case.0x43984d.11
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004518f0
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x43984d.11
mov edx, dword [ebp + 8]
mov byte [edx + 0x64], 2
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00452010
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov byte [edx + 0x64], 0
jmp case.0x43984d.11
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov dword [ebp - 0xac], ecx
xor edx, edx
je 0x43fc96
jmp 0x440529
lea eax, [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00425ae0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 8]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 8], 0
xor edx, edx
je 0x43fced
jmp 0x440529
cmp dword [ebp - 8], 0
jne 0x43fd6c
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00448c30
add esp, 0x14
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x43fd50
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edx]
mov dword [eax + 0x3c], ecx
jmp 0x43fd6c
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0xac]
add eax, 0x28
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], 0
jmp 0x43fe28
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0xb8]
jge 0x43fe71
mov edx, dword [ebp - 0x94]
add edx, 1
imul edx, edx, 0x28
add edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00439410
add esp, 4
jmp 0x43fe19
xor edx, edx
je 0x43fe7a
jmp 0x440529
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 1
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 0x20]
call edx
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00425ae0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx + 8]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + 8], 0
cmp dword [ebp - 8], 0
jne 0x43ff0f
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0x98], eax
xor edx, edx
je 0x43ff18
jmp 0x440529
cmp dword [ebp - 0x98], 0
je 0x43ff33
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x9c]
mov byte [edx + 0x14], 0
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x10c]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x43ff94
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.00433e00
add esp, 4
jmp case.0x43984d.11
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
push 0x40
push 0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.0048e260
add esp, 0xc
mov edx, dword [ebp - 0xb0]
push edx
lea eax, [ebp - 0xa0]
push eax
call fcn.004392b0
add esp, 8
movzx ecx, word [ebp - 0x84]
and ecx, 0xffffbf00
or ecx, 1
mov word [ebp - 0x84], cx
xor edx, edx
je 0x43fffc
jmp 0x440529
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00425ae0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 8], 0
cmp dword [ebp - 0x74], 0
je 0x440063
mov edx, dword [ebp - 0x74]
mov dword [ebp - 8], edx
movzx eax, byte [ebp - 0xd1]
push eax
lea ecx, [ebp - 0xa0]
push ecx
call fcn.00436480
add esp, 8
lea edx, [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004392b0
add esp, 8
xor ecx, ecx
je 0x440099
jmp 0x440529
mov edx, dword [ebp - 0xb0]
push edx
call fcn.00447840
add esp, 4
test eax, eax
je 0x4400b1
jmp 0x4404dd
jmp case.0x43984d.11
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x4400eb
jmp case.0x43984d.11
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov dword [ebp - 0xb4], edx
xor eax, eax
je 0x440113
jmp 0x440529
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x64], 1
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x24]
call edx
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00425ae0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 8], 0
cmp dword [ebp - 8], 0
jne 0x44018f
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0xb0], eax
xor eax, eax
je 0x440198
jmp 0x440529
cmp dword [ebp - 0xb0], 0
jne 0x4401b3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb4], ecx
xor eax, eax
je 0x4401eb
jmp 0x440529
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00425ae0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 8], 0
xor edx, edx
je 0x440247
jmp 0x440529
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x34], 0
je 0x4403b1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xac], 0
jmp 0x4402ca
mov ecx, dword [ebp - 0xac]
add ecx, 1
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0xb0]
jge 0x44030d
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00439410
add esp, 4
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x9c]
add ecx, 0x28
mov dword [ebp - 0x9c], ecx
jmp 0x4402bb
xor edx, edx
je 0x440316
jmp 0x440529
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
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.00425ae0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 0xb8]
mov dword [eax + 8], 0
xor ecx, ecx
je 0x44037b
jmp 0x440529
cmp dword [ebp - 8], 0
jne 0x4403a2
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 4], 0
je 0x4403a2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xa8]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0xa4]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
jmp case.0x43984d.11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00432630
add esp, 4
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.0042aea0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x440427
mov edx, 4
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xb4]
cdq
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43984d.11
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x10], 0
je 0x440446
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x20c], ecx
jmp 0x440455
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0
je case.0x43984d.11
mov edx, dword [ebp - 4]
cmp dword [edx + 0x94], 0
je case.0x43984d.11
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x98]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x94]
call ecx
add esp, 8
jmp 0x439625
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004346c0
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x4404bf
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
mov dword [ebp - 8], 1
mov eax, dword [ebp + 8]
add eax, 0x78
push eax
call fcn.00434a40
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x4405af
push 0x4bc8e4
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00438030
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x44049a
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
push 0x4bc8fc
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x5c
push edx
call fcn.00438030
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x44049a
mov dword [ebp - 8], 0x15
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x440542
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x440570
mov edx, dword [ebp - 8]
push edx
call fcn.0047b1c0
add esp, 4
push eax
push 0x4bc90c
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x5c
push ecx
call fcn.00438030
add esp, 0x10
jmp 0x44049a
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.0047b1c0
add esp, 4
push eax
push 0x4bc910
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x5c
push eax
call fcn.00438030
add esp, 0x10
jmp 0x44049a
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0048e19e
mov esp, ebp
pop ebp
ret