Function at 0x435580
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x770
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov byte [ebp - 0x1e], 0
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x46]
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 8]
push eax
call fcn.0042e8c0
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 7
jne 0x435603
jmp 0x43d2c7
mov edx, dword [ebp + 8]
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x18c], 0
mov edx, dword [ebp - 4]
cmp dword [edx + 0x100], 0
je 0x43563c
jmp 0x43d2f0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x138], 0
je 0x435672
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
xor edx, edx
div dword [ecx + 0x140]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x140]
sub ecx, edx
mov dword [ebp - 0x18], ecx
jmp 0x435679
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp 0x435693
mov ecx, dword [ebp - 0x28]
add ecx, 0x14
mov dword [ebp - 0x28], ecx
mov edx, 1
test edx, edx
je 0x43d1b1
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 0xa4
ja case.0x4356cb.83
mov eax, dword [ebp - 0x64c]
jmp dword [eax*4 + 0x43d338]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x100], 0
je 0x4356f5
jmp 0x43d2f0
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jb 0x435750
mov edx, dword [ebp - 4]
cmp dword [edx + 0x138], 0
je 0x435750
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax + 0x140]
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
xor edx, edx
div dword [esi + 0x140]
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x13c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x138]
call edx
add esp, 4
test eax, eax
je 0x435750
mov dword [ebp - 8], 9
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, 4
mov eax, dword [ebp - 0x30]
mov word [eax + 8], dx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
push 0
push 0x14
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.0049e840
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, 0x80
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
sub eax, 1
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 0
je 0x435812
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
push 0
push 0x14
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
call fcn.0049e840
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, 0x80
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, 4
mov edx, dword [ebp - 0x30]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x40]
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 1
jne case.0x4356cb.66
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x28]
cmp dword [edx + 4], 0
jne 0x43598f
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc4], 0
je 0x43598f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 4]
mov dword [eax + 0xc4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xcc]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xcc], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00432710
add esp, 8
mov eax, dword [ebp - 0x44]
push eax
call fcn.0042f570
add esp, 4
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 4
jne 0x43596c
mov edx, dword [ebp - 0x48]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov edx, dword [ecx + edx + 8]
sub edx, 1
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x48]
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
jmp case.0x4356cb.83
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 8]
mov byte [edx + 0x8e], cl
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 0
je 0x435a5c
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
test eax, eax
je 0x435a1b
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
mov eax, dword [edx*4 + 0x4a74c4]
push eax
push str._s_constraint_failed
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d310
add esp, 0xc
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x10], 0
je 0x435a19
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
push str._z:__s
mov ecx, dword [ebp - 4]
push ecx
call fcn.00409ba0
add esp, 0x10
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], eax
jmp 0x435a33
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
push 0x4b004c
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
push str.abort_at__d_in___s_:__s
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
call fcn.00409da0
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00430050
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x435a7d
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], 5
jmp 0x435a90
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff9c
add ecx, 0x65
mov dword [ebp - 8], ecx
jmp 0x43d281
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 8
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
fld qword [edx]
fstp qword [eax]
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov byte [eax], 0x45
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
call fcn.0040af50
add esp, 4
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0x1d]
cmp edx, 1
je 0x435be5
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042c780
add esp, 0x14
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042b7c0
add esp, 8
test eax, eax
je 0x435b89
jmp 0x43d2c7
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
or ecx, 0x800
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff9
jne 0x435bc6
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004074a0
add esp, 8
mov edx, dword [ebp - 0x28]
mov byte [edx + 1], 0xf9
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x64]
jle case.0x4356cb.69
jmp 0x43d2aa
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 0xa02
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
jle 0x435c9a
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 2]
cdq
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], edx
mov edx, dword [ebp - 0x650]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x658]
jne 0x435c9a
mov ecx, dword [ebp - 0x650]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp - 0x654]
jne 0x435c9a
mov eax, 0xa10
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
sub eax, dword [edx + 8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
neg edx
sbb edx, edx
and edx, 0x100
add edx, 1
mov word [ebp - 0x50], dx
mov eax, dword [ebp - 0x14]
mov cx, word [ebp - 0x50]
mov word [eax + 8], cx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], 0
cmp dword [ebp - 0x4c], 0
jle 0x435d28
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c330
add esp, 4
mov edx, dword [ebp - 0x14]
mov ax, word [ebp - 0x50]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
jmp 0x435ced
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffffff60
or eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
push 0
push 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042c780
add esp, 0x14
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x1d]
mov byte [eax + 0xa], cl
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
sub eax, 1
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x74]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
push edx
call fcn.0042c5a0
add esp, 4
test eax, eax
je 0x435dc0
jmp 0x43d2aa
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
push 0x800
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042c620
add esp, 0xc
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x60]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x5c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c740
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x435e4f
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042ba10
add esp, 4
test eax, eax
je 0x435e4f
jmp 0x43d2c7
mov edx, dword [ebp - 0x30]
add edx, 0x28
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
jne 0x435e1c
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, 1
test edx, edx
je 0x435eff
push 0x1000
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c620
add esp, 0xc
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x435ed9
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042ba10
add esp, 4
test eax, eax
je 0x435ed9
jmp 0x43d2c7
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
sub eax, 1
mov dword [ebp - 0x64], eax
test edx, edx
jne 0x435eeb
jmp 0x435eff
mov ecx, dword [ebp - 0x14]
add ecx, 0x28
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x30]
add edx, 0x28
mov dword [ebp - 0x30], edx
jmp 0x435e98
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
push 0x1000
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042c620
add esp, 0xc
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c400
add esp, 0xc
jmp case.0x4356cb.83
mov edx, dword [ebp - 4]
cmp dword [edx + 0x138], 0
je 0x435fb1
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jb 0x435fb1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x13c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x138]
call ecx
add esp, 4
test eax, eax
je 0x435fb1
mov dword [ebp - 8], 9
jmp 0x43d1b1
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.0042ffb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x435fcd
jmp 0x43d1b1
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.0042ff80
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], 0
jmp 0x43601d
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ecx + 8]
jge 0x43606d
mov eax, dword [ebp - 0x6c]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x68]
movzx edx, word [ecx + eax + 8]
and edx, 0x1000
je 0x436059
mov eax, dword [ebp - 0x6c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x68]
push eax
call fcn.0042ba10
add esp, 4
test eax, eax
je 0x436059
jmp 0x43d2c7
mov ecx, dword [ebp - 0x6c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x68]
push ecx
call fcn.0042bb30
add esp, 4
jmp 0x436014
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x49]
test eax, eax
je 0x43607d
jmp 0x43d2c7
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x50]
and edx, 4
je 0x4360a9
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc0]
push edx
push 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
call ecx
add esp, 0x10
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
add eax, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov dword [ebp - 8], 0x64
jmp 0x43d281
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x43611f
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x436141
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042baa0
add esp, 4
mov dword [ebp - 0x65c], eax
jmp 0x43614b
mov dword [ebp - 0x65c], 0
cmp dword [ebp - 0x65c], 0
jne 0x436189
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x436176
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0042baa0
add esp, 4
mov dword [ebp - 0x660], eax
jmp 0x436180
mov dword [ebp - 0x660], 0
cmp dword [ebp - 0x660], 0
je 0x43618e
jmp 0x43d2c7
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x12
jne 0x4361b6
push 0
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042bb60
add esp, 0xc
test eax, eax
je 0x4361b6
jmp 0x43d2c7
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 8]
and ecx, 0x12
jne 0x4361de
push 0
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042bb60
add esp, 0xc
test eax, eax
je 0x4361de
jmp 0x43d2c7
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0x1c]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
cdq
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], edx
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x664]
jl 0x436221
jg 0x43621c
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x668]
jbe 0x436221
jmp 0x43d2aa
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, dword [ebp - 0x1c]
sete cl
push ecx
mov edx, dword [ebp - 0x78]
add edx, 2
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042b800
add esp, 0xc
test eax, eax
je 0x436249
jmp 0x43d2c7
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 2
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
je 0x436285
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00497620
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx + 0xc]
push ecx
call fcn.00497620
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x78]
add eax, 1
mov ecx, dword [ebp - 0x74]
adc ecx, 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x10]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
or eax, 0x200
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.004354d0
add esp, 4
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004354d0
add esp, 4
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 8]
or eax, edx
mov word [ebp - 0x7c], ax
movzx eax, word [ebp - 0xa0]
movzx ecx, word [ebp - 0x9c]
and eax, ecx
and eax, 4
je 0x43655c
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0x88], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ebp - 0x98], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x94], ecx
mov byte [ebp - 0xa1], 1
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x66c]
sub ecx, 0x58
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 3
ja case.default.0x4363d2
mov edx, dword [ebp - 0x66c]
jmp dword [edx*4 + 0x43d5cc]
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0040c950
add esp, 0xc
test eax, eax
je 0x4363ff
jmp 0x436576
jmp 0x43652c
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0040ca30
add esp, 0xc
test eax, eax
je 0x43642a
jmp 0x436576
jmp 0x43652c
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0040caa0
add esp, 0xc
test eax, eax
je 0x436455
jmp 0x436576
jmp 0x43652c
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x43646d
jmp 0x436746
mov ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
jne 0x436498
cmp dword [ebp - 0x98], 0
jne 0x436498
cmp dword [ebp - 0x94], 0x80000000
jne 0x436498
jmp 0x436576
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.0049bf60
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x43652c
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x4364da
jmp 0x436746
mov ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
jne 0x4364ff
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.0049c010
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x94]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp 0x436741
movzx eax, word [ebp - 0x7c]
and eax, 1
je 0x43656f
jmp 0x436746
mov byte [ebp - 0xa1], 0
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042bfa0
add esp, 4
fstp qword [ebp - 0x90]
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0042bfa0
add esp, 4
fstp qword [ebp - 0xb0]
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x670]
sub edx, 0x58
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 3
ja case.default.0x4365c4
mov eax, dword [ebp - 0x670]
jmp dword [eax*4 + 0x43d5dc]
fld qword [ebp - 0xb0]
fadd qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4366da
fld qword [ebp - 0xb0]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4366da
fld qword [ebp - 0xb0]
fmul qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4366da
fldz
fcomp qword [ebp - 0x90]
fnstsw ax
test ah, 0x44
jp 0x436624
jmp 0x436746
fld qword [ebp - 0xb0]
fdiv qword [ebp - 0x90]
fstp qword [ebp - 0xb0]
jmp 0x4366da
fld qword [ebp - 0x90]
call fcn.0049f916
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fld qword [ebp - 0xb0]
call fcn.0049f916
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp - 0x88]
or ecx, dword [ebp - 0x84]
jne 0x43667c
jmp 0x436746
mov edx, dword [ebp - 0x88]
and edx, dword [ebp - 0x84]
cmp edx, 0xffffffff
jne 0x4366a1
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x98]
push eax
call fcn.0049c010
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], edx
fild qword [ebp - 0x678]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call fcn.0040af10
add esp, 8
test eax, eax
je 0x4366f4
jmp 0x436746
mov ecx, dword [ebp - 0x14]
fld qword [ebp - 0xb0]
fstp qword [ecx]
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 8
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
movzx edx, word [ebp - 0xa0]
movzx eax, word [ebp - 0x9c]
or edx, eax
and edx, 8
jne 0x436741
movsx ecx, byte [ebp - 0xa1]
test ecx, ecx
jne 0x436741
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042bff0
add esp, 4
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 4], 0
je 0x436779
push 0
push 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.0042c400
add esp, 0xc
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 8]
or edx, ecx
and edx, 1
je 0x4367d1
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0x28]
mov al, byte [edx]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc9]
cmp ecx, 0x54
jne 0x436841
mov edx, dword [ebp - 0xb8]
and edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb4]
and eax, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
jmp 0x436a48
movzx ecx, byte [ebp - 0xc9]
cmp ecx, 0x55
jne 0x436876
mov edx, dword [ebp - 0xb8]
or edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb4]
or eax, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
jmp 0x436a48
mov ecx, dword [ebp - 0xc0]
or ecx, dword [ebp - 0xbc]
je 0x436a48
cmp dword [ebp - 0xbc], 0
jg 0x436915
jl 0x4368a0
cmp dword [ebp - 0xc0], 0
jae 0x436915
movzx edx, byte [ebp - 0xc9]
mov eax, 0xad
sub eax, edx
mov byte [ebp - 0xc9], al
cmp dword [ebp - 0xbc], 0xffffffff
jl 0x4368e9
jg 0x4368c8
cmp dword [ebp - 0xc0], 0xffffffc0
jbe 0x4368e9
mov ecx, dword [ebp - 0xc0]
neg ecx
mov edx, dword [ebp - 0xbc]
adc edx, 0
neg edx
mov dword [ebp - 0x680], ecx
mov dword [ebp - 0x67c], edx
jmp 0x4368fd
mov dword [ebp - 0x680], 0x40
mov dword [ebp - 0x67c], 0
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0
jl 0x436977
jg 0x436929
cmp dword [ebp - 0xc0], 0x40
jb 0x436977
cmp dword [ebp - 0xb4], 0
jg 0x436955
jl 0x43693d
cmp dword [ebp - 0xb8], 0
jae 0x436955
movzx edx, byte [ebp - 0xc9]
cmp edx, 0x56
je 0x436955
mov dword [ebp - 0x684], 0xffffffff
jmp 0x43695f
mov dword [ebp - 0x684], 0
mov eax, dword [ebp - 0x684]
cdq
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x436a48
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xc4], ecx
movzx edx, byte [ebp - 0xc9]
cmp edx, 0x56
jne 0x4369c0
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
call fcn.0049f830
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x436a30
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
call fcn.0049f990
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xb4], 0
jg 0x436a30
jl 0x4369f7
cmp dword [ebp - 0xb8], 0
jae 0x436a30
mov ecx, 0x40
sub ecx, dword [ebp - 0xc0]
mov eax, 0
sbb eax, dword [ebp - 0xbc]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0049f830
or eax, dword [ebp - 0xc8]
or edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042c070
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 4
jne 0x436b07
movzx ecx, byte [ebp - 0x1d]
push ecx
push 0x43
mov edx, dword [ebp - 0x30]
push edx
call fcn.00435350
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 4
jne 0x436b07
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
jne 0x436b02
mov dword [ebp - 8], 0x14
jmp 0x43d1b1
jmp 0x435787
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 4
mov edx, dword [ebp - 0x30]
mov word [edx + 8], cx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 4
je 0x436b4a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042c0b0
add esp, 4
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x436b81
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042baa0
add esp, 4
mov dword [ebp - 0x688], eax
jmp 0x436b8b
mov dword [ebp - 0x688], 0
mov ecx, dword [ebp - 0x688]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 8]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042c1e0
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x436bb8
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x30]
mov dx, word [ecx + 8]
mov word [ebp - 0xd8], dx
mov eax, dword [ebp - 0xc]
mov cx, word [eax + 8]
mov word [ebp - 0xdc], cx
movzx edx, word [ebp - 0xd8]
movzx eax, word [ebp - 0xdc]
or edx, eax
and edx, 1
je 0x436cb1
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x80
je 0x436c5b
movzx eax, word [ebp - 0xd8]
movzx ecx, word [ebp - 0xdc]
and eax, ecx
and eax, 1
je 0x436c4f
movzx edx, word [ebp - 0xdc]
and edx, 0x100
jne 0x436c4f
mov dword [ebp - 0xd4], 0
jmp 0x436c59
mov dword [ebp - 0xd4], 1
jmp 0x436cac
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x20
je 0x436c96
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], 1
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 1
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
jmp 0x436ca7
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x10
je 0x436ca7
jmp 0x435787
jmp case.0x4356cb.83
jmp 0x436eb5
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x47
mov byte [ebp - 0xca], cl
movsx edx, byte [ebp - 0xca]
cmp edx, 0x43
jl 0x436ded
movzx eax, word [ebp - 0xd8]
movzx ecx, word [ebp - 0xdc]
or eax, ecx
and eax, 2
je 0x436d2e
movzx edx, word [ebp - 0xd8]
and edx, 0xe
cmp edx, 2
jne 0x436d11
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004352a0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dx, word [ecx + 8]
mov word [ebp - 0xdc], dx
movzx eax, word [ebp - 0xdc]
and eax, 0xe
cmp eax, 2
jne 0x436d2e
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004352a0
add esp, 8
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and eax, edx
and eax, 4
je 0x436de8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x690], ecx
mov edx, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x690]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jl 0x436d90
jg 0x436d81
mov edx, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x690]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jbe 0x436d90
mov dword [ebp - 0xd4], 1
jmp 0x436eb5
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x694], edx
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x694]
mov edx, dword [ebp - 0x698]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jg 0x436dd9
jl 0x436dca
mov ecx, dword [ebp - 0x694]
mov edx, dword [ebp - 0x698]
mov eax, dword [ecx]
cmp eax, dword [edx]
jae 0x436dd9
mov dword [ebp - 0xd4], 0xffffffff
jmp 0x436eb5
mov dword [ebp - 0xd4], 0
jmp 0x436eb5
jmp 0x436e98
movsx ecx, byte [ebp - 0xca]
cmp ecx, 0x42
jne 0x436e98
movzx edx, word [ebp - 0xd8]
and edx, 2
jne 0x436e4b
movzx eax, word [ebp - 0xd8]
and eax, 0xc
je 0x436e4b
push 1
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042bb60
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
movzx edx, word [ebp - 0xd8]
and edx, 0xc1ff
or ecx, edx
mov word [ebp - 0xd8], cx
movzx eax, word [ebp - 0xdc]
and eax, 2
jne 0x436e98
movzx ecx, word [ebp - 0xdc]
and ecx, 0xc
je 0x436e98
push 1
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0042bb60
add esp, 0xc
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
movzx eax, word [ebp - 0xdc]
and eax, 0xc1ff
or edx, eax
mov word [ebp - 0xdc], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00431630
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jge 0x436ed3
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4a74a4]
mov dword [ebp - 0xd0], ecx
jmp 0x436f04
cmp dword [ebp - 0xd4], 0
jne 0x436ef1
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4a74ac]
mov dword [ebp - 0xd0], ecx
jmp 0x436f04
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4a74b4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0x30]
mov ax, word [ebp - 0xd8]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0xc]
mov dx, word [ebp - 0xdc]
mov word [ecx + 8], dx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x20
je 0x436f93
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 8
je 0x436f6b
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x35
sete al
cmp eax, dword [ebp - 0xd0]
jne 0x436f6b
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 4
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov eax, dword [ebp - 0xd0]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x436fa1
cmp dword [ebp - 0xd0], 0
je 0x436fa1
jmp 0x435787
jmp case.0x4356cb.83
cmp dword [ebp - 0x34], 0
je 0x436fb1
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 1
jne 0x436fd3
mov dword [ebp - 0xf8], 0
jmp 0x436fe2
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx - 4]
add edx, 4
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xe4], 0
jmp 0x43702d
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe8]
jge 0x4370fc
cmp dword [ebp - 0xf8], 0
je 0x43705f
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x69c], eax
jmp 0x43706b
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x69c], ecx
mov edx, dword [ebp - 0x69c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + eax*4 + 0x14]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xe4]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0xf4]
add edx, dword [ebp - 0xf0]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0xf0]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.00431630
add esp, 0xc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4370f7
cmp dword [ebp - 0xe0], 0
je 0x4370f5
mov ecx, dword [ebp - 0x34]
neg ecx
mov dword [ebp - 0x34], ecx
jmp 0x4370fc
jmp 0x43701e
jmp case.0x4356cb.83
cmp dword [ebp - 0x34], 0
jge 0x43711b
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp 0x437147
cmp dword [ebp - 0x34], 0
jne 0x437135
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
jmp 0x437147
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
sub ecx, 1
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
je 0x437173
mov dword [ebp - 0x104], 2
jmp 0x4371bb
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a0], edx
mov ecx, dword [ebp - 0x6a4]
or ecx, dword [ebp - 0x6a0]
je 0x4371a5
mov dword [ebp - 0x6a8], 1
jmp 0x4371af
mov dword [ebp - 0x6a8], 0
mov edx, dword [ebp - 0x6a8]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 8]
and eax, 1
je 0x4371e2
mov dword [ebp - 0x108], 2
jmp 0x43722a
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], edx
mov edx, dword [ebp - 0x6b0]
or edx, dword [ebp - 0x6ac]
je 0x437214
mov dword [ebp - 0x6b4], 1
jmp 0x43721e
mov dword [ebp - 0x6b4], 0
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x2c
jne 0x437254
mov eax, dword [ebp - 0x104]
imul eax, eax, 3
mov ecx, dword [ebp - 0x108]
movzx edx, byte [eax + ecx + 0x4a7494]
mov dword [ebp - 0x104], edx
jmp 0x437271
mov eax, dword [ebp - 0x104]
imul eax, eax, 3
mov ecx, dword [ebp - 0x108]
movzx edx, byte [eax + ecx + 0x4a74f0]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x104], 2
jne 0x4372a1
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp 0x4372c6
mov eax, dword [ebp - 0x104]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042c330
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x437358
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], edx
mov eax, dword [ebp - 0x6bc]
or eax, dword [ebp - 0x6b8]
jne 0x43733f
mov dword [ebp - 0x6c0], 1
jmp 0x437349
mov dword [ebp - 0x6c0], 0
mov eax, dword [ebp - 0x6c0]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042c330
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x4373b7
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042bef0
add esp, 4
not eax
not edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp + 8]
cmp dword [edx + 0xc4], 0
je 0x43745c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [eax + 0x58]
mov eax, ecx
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc4]
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [eax + 0x18]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
je 0x437417
jmp 0x435787
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc4]
mov edx, dword [ebp - 0x10c]
shr edx, 3
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov esi, 1
shl esi, cl
movzx ecx, byte [eax + edx]
or ecx, esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc4]
mov edx, dword [ebp - 0x10c]
shr edx, 3
mov eax, dword [eax + 0x18]
mov byte [edx + eax], cl
jmp 0x437472
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x28]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jne 0x437472
jmp 0x435787
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 1
je 0x4374af
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x437507
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042bfa0
add esp, 4
fcomp qword [0x4ab8e8]
fnstsw ax
test ah, 0x44
jnp 0x4374d4
mov dword [ebp - 0x6c4], 1
jmp 0x4374de
mov dword [ebp - 0x6c4], 0
mov ecx, dword [ebp - 0x6c4]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x16
jne 0x437507
xor ecx, ecx
cmp dword [ebp - 0x110], 0
sete cl
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0
je 0x437515
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 1
je 0x43753a
jmp 0x435787
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 1
jne 0x43755f
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
movzx eax, byte [edx + 2]
test eax, eax
je 0x437595
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
call fcn.0042c330
add esp, 4
jmp 0x435787
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x124], eax
lea ecx, [ebp - 0x124]
push ecx
lea edx, [ebp - 0x130]
push edx
call fcn.00430a40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4375df
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x20]
je 0x4377dd
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x437694
mov eax, dword [ebp - 0x130]
movzx ecx, byte [eax]
cmp ecx, 3
jne 0x43767e
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x20]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x4c], eax
jmp 0x437692
mov ecx, dword [ebp - 0x114]
push ecx
call fcn.0042c330
add esp, 4
jmp 0x437de8
jmp 0x4376f3
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00422f30
add esp, 4
mov edx, dword [ebp - 0x130]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x130]
add eax, 0x54
push eax
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00423580
add esp, 8
mov edx, dword [ebp - 0x130]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x50]
cmp edx, dword [ecx + 0x64]
jbe 0x4376f3
jmp 0x43d2aa
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x4c]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x437736
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x4c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x128]
mov dword [eax], edx
mov dword [ebp - 0x6c8], 1
jmp 0x437758
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x4c]
push eax
call fcn.0040c630
add esp, 8
movzx ecx, al
mov dword [ebp - 0x6c8], ecx
movzx edx, byte [ebp - 0x6c8]
mov eax, dword [ebp - 0x130]
mov dword [eax + 0x30], edx
xor ecx, ecx
mov edx, dword [ebp - 0x130]
mov word [edx + 0x3a], cx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x128]
mov edx, dword [eax + 0x54]
cmp edx, dword [ecx]
jae 0x4377c9
mov eax, dword [ebp - 0x130]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0x130]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x128]
cmp dword [edx], 0x18003
ja 0x4377c2
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x130]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x50]
jbe 0x4377c7
jmp 0x437ded
jmp 0x4377dd
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x160], ecx
jmp 0x4378a3
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x3a]
cmp eax, dword [ebp - 0x124]
jg 0x437b6b
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x128]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx]
jae 0x437b10
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x4c], 0
jne 0x437894
xor edx, edx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], edx
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx]
push edx
push 0
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.0042ca90
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x437886
jmp 0x43d1b1
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x160], edx
jmp 0x4378a3
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x3a]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x160]
add eax, dword [edx + 0x30]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x160]
add edx, dword [ecx]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x15c]
movzx ecx, byte [eax]
mov dword [ebp - 0x164], ecx
cmp dword [ebp - 0x164], 0x80
jae 0x437953
mov edx, dword [ebp - 0x15c]
add edx, 1
mov dword [ebp - 0x15c], edx
movzx eax, byte [ebp - 0x164]
push eax
call fcn.00430cc0
add esp, 4
movzx eax, al
cdq
add eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
adc ecx, edx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
jmp 0x4379a3
lea edx, [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.0040c630
add esp, 8
movzx ecx, al
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x164]
push edx
call fcn.00430c90
add esp, 4
xor ecx, ecx
add eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
adc edx, ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x164]
mov dword [ecx + eax*4 + 0x58], edx
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
and edx, 0
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x128]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x124]
jg 0x437a06
mov ecx, dword [ebp - 0x15c]
cmp ecx, dword [ebp - 0x120]
jb 0x4378f9
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x120]
jb 0x437a55
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x120]
ja 0x437a8a
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + 0x50]
xor eax, eax
mov dword [ebp - 0x6d0], edx
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x6d0]
jne 0x437a8a
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x6cc]
jne 0x437a8a
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x50]
xor edx, edx
mov dword [ebp - 0x6d8], ecx
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x16c]
cmp eax, dword [ebp - 0x6d4]
jb 0x437acd
ja 0x437a8a
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x6d8]
jbe 0x437acd
mov edx, dword [ebp - 0x128]
cmp dword [edx], 0
jne 0x437aad
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x15c], eax
jmp 0x437acd
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x4c], 0
jne 0x437ac8
lea edx, [ebp - 0x158]
push edx
call fcn.0042be30
add esp, 4
jmp 0x437ded
mov eax, dword [ebp - 0x130]
mov cx, word [ebp - 0x118]
mov word [eax + 0x3a], cx
mov edx, dword [ebp - 0x15c]
sub edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x130]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x4c], 0
jne 0x437b0e
lea edx, [ebp - 0x158]
push edx
call fcn.0042be30
add esp, 4
jmp 0x437b1a
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x130]
movzx ecx, word [eax + 0x3a]
cmp ecx, dword [ebp - 0x124]
jg 0x437b69
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff5
jne 0x437b55
push 0x800
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x114]
push eax
call fcn.0042c620
add esp, 0xc
jmp 0x437b64
mov ecx, dword [ebp - 0x114]
push ecx
call fcn.0042c330
add esp, 4
jmp 0x437de8
jmp 0x437b81
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + edx*4 + 0x58]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x114]
movzx eax, word [edx + 8]
and eax, 0x2460
je 0x437ba1
mov ecx, dword [ebp - 0x114]
push ecx
call fcn.0042c330
add esp, 4
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov edx, dword [edx + 0x54]
cmp edx, dword [ecx + eax*4 + 4]
jb 0x437cf7
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x160], ecx
cmp dword [ebp - 0x164], 0xc
jae 0x437c09
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00430e80
add esp, 0xc
jmp 0x437cf2
mov ecx, dword [ebp - 0x164]
sub ecx, 0xc
shr ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x12c]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x114]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x12c]
add eax, 2
mov ecx, dword [ebp - 0x114]
cmp dword [ecx + 0x18], eax
jge 0x437c7e
mov edx, 1
mov eax, dword [ebp - 0x114]
mov word [eax + 8], dx
push 0
mov ecx, dword [ebp - 0x12c]
add ecx, 2
push ecx
mov edx, dword [ebp - 0x114]
push edx
call fcn.0042b800
add esp, 0xc
test eax, eax
je 0x437c7c
jmp 0x43d2c7
jmp 0x437c90
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 0x10]
push eax
call fcn.00497620
add esp, 0xc
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x12c]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x12c]
mov byte [eax + edx + 1], 0
mov ecx, dword [ebp - 0x164]
and ecx, 1
mov edx, dword [ebp - 0x114]
mov ax, word [ecx*2 + 0x4a74fc]
mov word [edx + 8], ax
jmp 0x437de8
mov ecx, dword [ebp - 0x114]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0xc0
je 0x437d35
cmp dword [ebp - 0x164], 0xc
jb 0x437d26
mov edx, dword [ebp - 0x164]
and edx, 1
je 0x437d53
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x80
jne 0x437d53
mov edx, dword [ebp - 0x164]
push edx
call fcn.00430c90
add esp, 4
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
jne 0x437d70
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x4bcf1c
call fcn.00430e80
add esp, 0xc
jmp 0x437de8
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + 0x28]
push edx
call fcn.0042ca90
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x437dae
jmp 0x43d1b1
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 0x10]
push eax
call fcn.00430e80
add esp, 0xc
mov ecx, dword [ebp - 0x114]
movzx edx, word [ecx + 8]
and edx, 0xffffefff
mov eax, dword [ebp - 0x114]
mov word [eax + 8], dx
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0xc], 0
jle 0x437e0f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp case.0x4356cb.83
push 0x13f84
call fcn.004899a0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x43d1b1
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x178]
mov al, byte [edx]
mov byte [ebp - 0x6d9], al
movzx ecx, byte [ebp - 0x1d]
push ecx
movzx edx, byte [ebp - 0x6d9]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.00435350
add esp, 0xc
mov ecx, dword [ebp - 0x178]
add ecx, 1
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x30]
add edx, 0x28
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x178]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x437e3f
jmp case.0x4356cb.83
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1d0]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x8f]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x1a4], 0
je 0x437fa5
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a4]
mov cl, byte [eax]
mov byte [ebp - 0x6da], cl
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x6e0], edx
movzx eax, byte [ebp - 0x1d]
push eax
movzx ecx, byte [ebp - 0x6da]
push ecx
mov edx, dword [ebp - 0x6e0]
push edx
call fcn.00435350
add esp, 0xc
mov eax, dword [ebp - 0x1a8]
add eax, 0x28
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1a4]
add ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
test eax, eax
jne 0x437f44
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1a8], ecx
lea edx, [ebp - 0x1b4]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.00430ad0
add esp, 0xc
mov dword [ebp - 0x17c], eax
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x17c]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x1a8]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x438054
mov eax, dword [ebp - 0x1a0]
or eax, dword [ebp - 0x19c]
je 0x43801d
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0042baa0
add esp, 4
test eax, eax
je 0x43801b
jmp 0x43d2c7
jmp 0x438054
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx]
cdq
add eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
adc ecx, edx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1b4]
sub eax, dword [edx]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
xor edx, edx
add ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x19c]
adc eax, edx
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x17c], 0x7f
ja 0x43808b
mov dword [ebp - 0x6e4], 1
jmp 0x4380a3
mov ecx, dword [ebp - 0x17c]
xor edx, edx
push edx
push ecx
call fcn.0040c730
add esp, 8
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x194]
add eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x1a8]
cmp ecx, dword [ebp - 0x1c4]
jne 0x4380c5
jmp 0x4380e1
mov edx, dword [ebp - 0x1a8]
sub edx, 0x28
mov dword [ebp - 0x1a8], edx
mov eax, 1
test eax, eax
jne 0x437fb1
cmp dword [ebp - 0x194], 0x7e
jg 0x4380fb
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
jmp 0x43814c
mov eax, dword [ebp - 0x194]
cdq
push edx
push eax
call fcn.0040c730
add esp, 8
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x194]
add edx, dword [ebp - 0x190]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
cdq
push edx
push eax
call fcn.0040c730
add esp, 8
cmp dword [ebp - 0x190], eax
jge 0x43814c
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
cdq
add eax, dword [ebp - 0x1a0]
adc edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x1bc]
adc esi, dword [ebp - 0x184]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x64]
cdq
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x6e8], esi
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6e8]
cmp eax, dword [ebp - 0x6f0]
jl 0x4381c5
jg 0x4381c0
mov ecx, dword [ebp - 0x6ec]
cmp ecx, dword [ebp - 0x6f4]
jbe 0x4381c5
jmp 0x43d2aa
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0042b960
add esp, 8
test eax, eax
je 0x4381e1
jmp 0x43d2c7
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1b0], edx
cmp dword [ebp - 0x194], 0x80
jae 0x438213
mov eax, dword [ebp - 0x1b0]
mov cl, byte [ebp - 0x194]
mov byte [eax], cl
mov dword [ebp - 0x6f8], 1
jmp 0x438231
mov eax, dword [ebp - 0x194]
cdq
push edx
push eax
mov edx, dword [ebp - 0x1b0]
push edx
call fcn.0040c1d0
add esp, 0xc
mov dword [ebp - 0x6f8], eax
movzx eax, byte [ebp - 0x6f8]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0x80
jae 0x438291
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x18c]
mov al, byte [ebp - 0x17c]
mov byte [edx], al
mov dword [ebp - 0x6fc], 1
jmp 0x4382b6
mov ecx, dword [ebp - 0x17c]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x18c]
push eax
call fcn.0040c1d0
add esp, 0xc
mov dword [ebp - 0x6fc], eax
movzx ecx, byte [ebp - 0x6fc]
add ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x1cc]
push ecx
call fcn.00430cd0
add esp, 0xc
add eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 0x1a8]
add edx, 0x28
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x1c8]
jbe 0x438256
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], ecx
mov eax, 0x10
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x188]
or edx, dword [ebp - 0x184]
je 0x43835d
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
or eax, 0x4000
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
lea edx, [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.00429130
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4383b2
jmp 0x43d1b1
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1d8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1d4]
mov dword [eax + 4], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1ec], 0
jne 0x43855b
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa8], 0
jle 0x43842c
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 5
jmp 0x438556
mov eax, dword [ebp - 0x1e0]
push eax
call fcn.0040af50
add esp, 4
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1bc]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x1b8]
push edx
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.00474170
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x438470
jmp 0x43d1b1
mov edx, dword [ebp - 0x1fc]
add edx, 0x21
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.004077d0
add esp, 0xc
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x438556
mov edx, dword [ebp - 0x1f8]
add edx, 0x20
mov eax, dword [ebp - 0x1f8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1fc]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x1e0]
push edx
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [eax]
push ecx
call fcn.00497620
add esp, 0xc
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x47]
test eax, eax
je 0x4384ea
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x47], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x4f], 1
jmp 0x4384ff
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b8]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b8], ecx
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b0]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1f8]
mov dword [eax + 0x1b0], ecx
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c0]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1c4]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c8]
mov dword [ecx + 0x10], eax
mov edx, dword [edx + 0x1cc]
mov dword [ecx + 0x14], edx
jmp 0x438938
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
mov dword [ebp - 0x1f4], ecx
jmp 0x438585
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
je 0x4385bb
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx]
push eax
call fcn.0040b320
add esp, 8
test eax, eax
je 0x4385bb
mov ecx, dword [ebp - 0x1f0]
add ecx, 1
mov dword [ebp - 0x1f0], ecx
jmp 0x438576
cmp dword [ebp - 0x1f4], 0
jne 0x4385e8
mov edx, dword [ebp - 0x1e0]
push edx
push str.no_such_savepoint:__s
mov eax, dword [ebp + 8]
push eax
call fcn.0042d310
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x438938
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa8], 0
jle 0x43861a
cmp dword [ebp - 0x1ec], 1
jne 0x43861a
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 5
jmp 0x438938
mov eax, dword [ebp - 0x1f4]
cmp dword [eax + 0x18], 0
jne 0x43863d
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x4f]
test edx, edx
je 0x43863d
mov dword [ebp - 0x700], 1
jmp 0x438647
mov dword [ebp - 0x700], 0
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
je 0x4386e2
cmp dword [ebp - 0x1ec], 1
jne 0x4386e2
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042ffb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x438685
jmp 0x43d281
mov edx, dword [ebp - 4]
mov byte [edx + 0x47], 1
mov eax, dword [ebp + 8]
push eax
call fcn.00430050
add esp, 4
cmp eax, 5
jne 0x4386cd
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x47], 0
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x28], edx
jmp 0x43d281
mov eax, dword [ebp - 4]
mov byte [eax + 0x4f], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 8], edx
jmp 0x43881e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b8]
sub ecx, dword [ebp - 0x1f0]
sub ecx, 1
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1ec], 2
jne 0x438781
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1e8], 0
jmp 0x438733
mov ecx, dword [ebp - 0x1e8]
add ecx, 1
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [edx + 0x14]
jge 0x43877f
xor ecx, ecx
cmp dword [ebp - 0x204], 0
sete cl
push ecx
push 0x204
mov edx, dword [ebp - 0x1e8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00422900
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43877d
jmp 0x43d1b1
jmp 0x438724
jmp 0x43878b
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1e8], 0
jmp 0x4387a6
mov eax, dword [ebp - 0x1e8]
add eax, 1
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1e8]
cmp edx, dword [ecx + 0x14]
jge 0x4387ee
mov eax, dword [ebp - 0x1f0]
push eax
mov ecx, dword [ebp - 0x1ec]
push ecx
mov edx, dword [ebp - 0x1e8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00422b70
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4387ec
jmp 0x43d1b1
jmp 0x438797
cmp dword [ebp - 0x204], 0
je 0x43881e
mov eax, dword [ebp - 4]
push eax
call fcn.00432750
add esp, 4
mov ecx, dword [ebp - 4]
push ecx
call fcn.00450270
add esp, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
or eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b0]
cmp eax, dword [ebp - 0x1f4]
je 0x43887a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b0]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x1b0], edx
mov eax, dword [ebp - 0x1e4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004074a0
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b8]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b8], eax
jmp 0x43881e
cmp dword [ebp - 0x1ec], 1
jne 0x4388c8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1b0], ecx
mov edx, dword [ebp - 0x1f4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004074a0
add esp, 8
cmp dword [ebp - 0x200], 0
jne 0x4388c6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b8]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b8], edx
jmp 0x4388fe
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + 8]
mov dword [ecx + 0x1c0], eax
mov edx, dword [edx + 0xc]
mov dword [ecx + 0x1c4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1c8], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x1cc], ecx
cmp dword [ebp - 0x200], 0
je 0x438910
cmp dword [ebp - 0x1ec], 2
jne 0x438938
mov edx, dword [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x1ec]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00474170
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x438938
jmp 0x43d1b1
cmp dword [ebp - 8], 0
je 0x438943
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x47]
cmp dword [ebp - 0x20c], ecx
je 0x438a6b
cmp dword [ebp - 0x208], 0
je 0x438996
push 0x204
mov edx, dword [ebp - 4]
push edx
call fcn.00487890
add esp, 8
mov eax, dword [ebp - 4]
mov byte [eax + 0x47], 1
jmp 0x4389f4
cmp dword [ebp - 0x20c], 0
je 0x4389ca
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa8], 0
jle 0x4389ca
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 5
jmp 0x43d1b1
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.0042ffb0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4389e8
jmp 0x43d281
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x20c]
mov byte [ecx + 0x47], dl
mov eax, dword [ebp + 8]
push eax
call fcn.00430050
add esp, 4
cmp eax, 5
jne 0x438a3f
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, 1
sub eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x47], al
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
jmp 0x43d281
mov ecx, dword [ebp - 4]
push ecx
call fcn.00487240
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x28], 0
jne 0x438a5d
mov dword [ebp - 8], 0x65
jmp 0x438a64
mov dword [ebp - 8], 1
jmp 0x43d281
cmp dword [ebp - 0x20c], 0
jne 0x438a80
mov dword [ebp - 0x704], str.cannot_start_a_transaction_within_a_transaction
jmp 0x438aab
cmp dword [ebp - 0x208], 0
je 0x438a95
mov dword [ebp - 0x708], str.cannot_rollback___no_transaction_is_active
jmp 0x438a9f
mov dword [ebp - 0x708], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 1
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
je 0x438af2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c]
and edx, 0x100000
je 0x438af2
mov dword [ebp - 8], 8
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0
je 0x438c7f
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
call fcn.00421930
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x438b6c
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 5
jne 0x438b67
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], ecx
jmp 0x43d281
jmp 0x43d1b1
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
je 0x438c49
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
shr ecx, 6
and ecx, 1
je 0x438c49
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x47]
test eax, eax
je 0x438ba9
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 1
jle 0x438c49
mov edx, dword [ebp + 8]
cmp dword [edx + 0x30], 0
jne 0x438bdf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1bc]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1bc], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x1bc]
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
sub edx, 1
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.00474170
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x438c19
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x210]
push eax
call fcn.00422b20
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c0]
mov dword [ecx + 0x48], eax
mov edx, dword [edx + 0x1c4]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c8]
mov dword [eax + 0x50], edx
mov ecx, dword [ecx + 0x1cc]
mov dword [eax + 0x54], ecx
lea edx, [ebp - 0x214]
push edx
push 1
mov eax, dword [ebp - 0x210]
push eax
call fcn.00429040
add esp, 0xc
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x218], eax
jmp 0x438c95
mov dword [ebp - 0x214], 0
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
test eax, eax
je 0x438d36
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x214]
cmp edx, dword [ecx + 0xc]
jne 0x438cc0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [eax + 0x10]
je 0x438d36
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004074a0
add esp, 8
push 0x4b01ac
mov edx, dword [ebp - 4]
push edx
call fcn.00407a50
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x214]
je 0x438d1a
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004501c0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
mov dword [ebp - 8], 0x11
cmp dword [ebp - 8], 0
je 0x438d41
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x220], edx
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x224]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00429040
add esp, 0xc
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x21c]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x228], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax + 4]
push ecx
call fcn.004290b0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 1
jne 0x438e12
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
or edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], edx
jmp 0x438e2d
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 8], 2
jne 0x438e2d
mov edx, dword [ebp - 0x228]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28]
mov dl, byte [ecx + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 1
jne 0x438e57
mov ecx, dword [ebp - 4]
push ecx
call fcn.00432750
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
and eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
cmp dword [ebp - 8], 0
je 0x438e62
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je case.0x4356cb.104
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x34]
cmp eax, dword [edx + 8]
jne case.0x4356cb.104
jmp 0x439090
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
and edx, 1
je 0x438eb5
mov dword [ebp - 8], 0x204
jmp 0x43d1b1
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x244]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x69
jne 0x438f55
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 8
or edx, 4
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x8f]
cmp edx, ecx
jge 0x438f53
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x4c]
mov byte [ecx + 0x8f], dl
jmp 0x438f5f
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x10
je 0x438f91
mov edx, dword [ebp - 0x230]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042c070
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff7
jne 0x438fbb
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
movzx edx, word [ecx + 8]
mov dword [ebp - 0x248], edx
jmp 0x438fd3
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffd
jne 0x438fd3
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x248], eax
push 0
mov ecx, dword [ebp - 0x244]
push ecx
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jne 0x43900a
jmp 0x43d2c7
mov eax, dword [ebp - 0x234]
mov byte [eax + 2], 1
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 8]
or edx, 4
mov eax, dword [ebp - 0x234]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x230]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x238]
push edx
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x22c]
push edx
call fcn.00422d60
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 1]
xor ecx, ecx
cmp eax, 0xfffffff7
setne cl
mov edx, dword [ebp - 0x234]
mov byte [edx + 4], cl
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 3
push ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x28]
push eax
call fcn.0041e760
add esp, 8
cmp dword [ebp - 8], 0
je 0x4390b8
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x250], edx
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x250]
movsx ecx, word [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jne 0x439108
jmp 0x43d2c7
mov edx, dword [ebp - 0x24c]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 8]
or ecx, 1
mov edx, dword [ebp - 0x24c]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x250]
mov dl, byte [ecx + 4]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0x2c]
push eax
push 4
push 1
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00422d60
add esp, 0x14
mov dword [ebp - 8], eax
jmp case.0x4356cb.83
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
jne 0x4391af
jmp 0x43d2c7
mov edx, dword [ebp - 0x254]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 8]
or ecx, 1
mov edx, dword [ebp - 0x254]
mov dword [edx + 8], ecx
mov eax, dword [0x4a7500]
push eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
or edx, 5
push edx
mov eax, dword [ebp - 0x254]
add eax, 0xc
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call fcn.004203f0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43921d
push 1
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00421930
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4392e2
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x258]
mov dword [edx + 0x2c], eax
cmp dword [ebp - 0x258], 0
je 0x4392b3
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
or edx, 2
push edx
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00428b30
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4392a7
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x258]
push edx
push 4
mov eax, dword [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00422d60
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x254]
mov byte [eax + 4], 0
jmp 0x4392e2
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0x28]
push edx
push 0
push 4
push 1
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.00422d60
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x254]
mov byte [edx + 4], 1
cmp dword [ebp - 8], 0
je 0x4392ed
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
xor edx, edx
cmp ecx, 8
setne dl
and edx, 1
shl edx, 2
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 8]
and ecx, 0xfffffffb
or ecx, edx
mov edx, dword [ebp - 0x254]
mov dword [edx + 8], ecx
jmp case.0x4356cb.83
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
jne 0x439350
jmp 0x43d2c7
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp - 0x260]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0043ed50
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x439387
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x264]
mov esi, dword [edx + 0x10]
add esi, 1
mov edx, dword [edx + 0x14]
adc edx, 0
mov edi, dword [ebp - 0x264]
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], edx
mov dword [ebp - 0x710], eax
mov dword [ebp - 0x70c], ecx
mov eax, dword [ebp - 0x710]
or eax, dword [ebp - 0x70c]
jne 0x4393ea
jmp 0x435787
jmp case.0x4356cb.83
push 3
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
jne 0x439421
jmp 0x43d2c7
mov eax, dword [ebp - 0x268]
mov byte [eax + 2], 1
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0x268]
mov byte [ecx + 4], 1
call fcn.0041e6e0
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x28], eax
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042f450
add esp, 8
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov dword [eax + ecx*4], 0
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x27c]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x27c]
movzx ecx, byte [eax + 4]
test ecx, ecx
je 0x4395e8
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 0xe
cmp edx, 2
jne 0x4394fe
push 0
mov eax, dword [ebp - 0xc]
push eax
call fcn.004352a0
add esp, 8
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0042bef0
add esp, 4
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], edx
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 4
jne 0x439592
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 8
jne 0x439538
jmp 0x435787
fild qword [ebp - 0x278]
mov eax, dword [ebp - 0xc]
fcomp qword [eax]
fnstsw ax
test ah, 0x41
jne 0x439566
mov ecx, dword [ebp - 0x294]
and ecx, 1
je 0x439564
mov edx, dword [ebp - 0x294]
sub edx, 1
mov dword [ebp - 0x294], edx
jmp 0x439592
fild qword [ebp - 0x278]
mov eax, dword [ebp - 0xc]
fcomp qword [eax]
fnstsw ax
test ah, 5
jp 0x439592
mov ecx, dword [ebp - 0x294]
and ecx, 1
jne 0x439592
mov edx, dword [ebp - 0x294]
add edx, 1
mov dword [ebp - 0x294], edx
lea eax, [ebp - 0x26c]
push eax
push 0
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x278]
push edx
push 0
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
mov dword [edx + 0x40], eax
mov ecx, dword [ebp - 0x274]
mov dword [edx + 0x44], ecx
cmp dword [ebp - 8], 0
je 0x4395e3
jmp 0x43d1b1
jmp 0x4396b5
push 2
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x28]
push eax
call fcn.0042a790
add esp, 8
test eax, eax
je 0x43960a
mov dword [ebp - 0x280], 1
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x290], ecx
mov dx, word [ebp - 0x298]
mov word [ebp - 0x288], dx
mov eax, dword [ebp - 0x294]
sub eax, 0x18
and eax, 1
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
mov byte [ebp - 0x286], al
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x28c], edx
mov byte [ebp - 0x282], 0
lea eax, [ebp - 0x26c]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x290]
push ecx
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x28]
push eax
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43969c
jmp 0x43d1b1
cmp dword [ebp - 0x280], 0
je 0x4396b5
movzx ecx, byte [ebp - 0x282]
test ecx, ecx
jne 0x4396b5
jmp 0x4397bd
mov edx, dword [ebp - 0x27c]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x27c]
mov dword [eax + 0x1c], 0
cmp dword [ebp - 0x294], 0x1a
jl 0x439743
cmp dword [ebp - 0x26c], 0
jl 0x4396f0
cmp dword [ebp - 0x26c], 0
jne 0x439737
cmp dword [ebp - 0x294], 0x1b
jne 0x439737
mov dword [ebp - 0x26c], 0
push 0
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx + 0x28]
push edx
call fcn.004242e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x439735
cmp dword [ebp - 8], 0x65
jne 0x439730
mov dword [ebp - 8], 0
mov dword [ebp - 0x26c], 1
jmp 0x439735
jmp 0x43d1b1
jmp 0x439741
mov dword [ebp - 0x26c], 0
jmp 0x4397bd
cmp dword [ebp - 0x26c], 0
jg 0x43975e
cmp dword [ebp - 0x26c], 0
jne 0x4397a5
cmp dword [ebp - 0x294], 0x18
jne 0x4397a5
mov dword [ebp - 0x26c], 0
push 0
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00424520
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4397a3
cmp dword [ebp - 8], 0x65
jne 0x43979e
mov dword [ebp - 8], 0
mov dword [ebp - 0x26c], 1
jmp 0x4397a3
jmp 0x43d1b1
jmp 0x4397bd
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x28]
push eax
call fcn.0041e6c0
add esp, 4
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
je 0x4397cd
jmp 0x435787
cmp dword [ebp - 0x280], 0
je 0x4397df
mov ecx, dword [ebp - 0x28]
add ecx, 0x14
mov dword [ebp - 0x28], ecx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x10], 0
jle 0x439852
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x2c4], edx
mov eax, dword [ebp - 0x28]
mov cx, word [eax + 0x10]
mov word [ebp - 0x2bc], cx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x2c0], edx
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2a8], 0
jmp 0x4398ec
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x439875
mov eax, dword [ebp - 0xc]
push eax
call fcn.0042baa0
add esp, 4
mov dword [ebp - 0x714], eax
jmp 0x43987f
mov dword [ebp - 0x714], 0
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x439893
jmp 0x43d2c7
mov edx, dword [ebp - 0x2ac]
mov eax, dword [edx + 0x2c]
push eax
call fcn.004310a0
add esp, 4
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2a8], ecx
cmp dword [ebp - 0x2b4], 0
jne 0x4398c5
jmp 0x43d2c7
mov edx, dword [ebp - 0x2b4]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ecx + 0x2c]
push edx
call fcn.00431110
add esp, 0x10
mov eax, dword [ebp - 0x2b4]
mov byte [eax + 0xa], 0
mov dword [ebp - 0x2a4], 0
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x1c
jne 0x439962
mov dword [ebp - 0x2b0], 0
jmp 0x439926
mov eax, dword [ebp - 0x2b0]
add eax, 1
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b4]
movzx edx, word [ecx + 8]
cmp dword [ebp - 0x2b0], edx
jge 0x439962
mov eax, dword [ebp - 0x2b0]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ecx + 4]
movzx eax, word [edx + eax + 8]
and eax, 1
je 0x439960
mov dword [ebp - 0x2a4], 1
jmp 0x439962
jmp 0x439917
lea ecx, [ebp - 0x2a0]
push ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0x2b4]
push edx
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 0x2a8], 0
je 0x4399a7
mov edx, dword [ebp - 0x2a8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00407430
add esp, 8
cmp dword [ebp - 8], 0
je 0x4399b2
jmp 0x43d1b1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2a0]
mov dword [ecx + 0x20], edx
xor eax, eax
cmp dword [ebp - 0x2a0], 0
sete al
mov dword [ebp - 0x29c], eax
mov ecx, 1
sub ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2ac]
mov byte [edx + 2], cl
mov eax, dword [ebp - 0x2ac]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x2ac]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x1e
jne 0x439a19
cmp dword [ebp - 0x29c], 0
je 0x439a17
jmp 0x435787
jmp 0x439a30
cmp dword [ebp - 0x2a4], 0
jne 0x439a2b
cmp dword [ebp - 0x29c], 0
jne 0x439a30
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 4
jne case.0x4356cb.32
movzx edx, byte [ebp - 0x1d]
push edx
push 0x43
mov eax, dword [ebp - 0xc]
push eax
call fcn.00435350
add esp, 0xc
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 4
jne case.0x4356cb.32
jmp 0x435787
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2cc], edx
lea eax, [ebp - 0x2c8]
push eax
push 0
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x2d0]
push edx
push 0
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2d0]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x2cc]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0x2d4]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x2d4]
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x2d4]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2c8]
mov dword [ecx + 0x20], edx
cmp dword [ebp - 0x2c8], 0
je 0x439b61
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
jne 0x439b5c
push 0x14586
call fcn.004899a0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x439b61
jmp 0x435787
cmp dword [ebp - 8], 0
je 0x439b6c
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x10]
mov dword [edx], eax
mov ecx, dword [ecx + 0x14]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x10]
add ecx, 1
mov edx, dword [eax + 0x14]
adc edx, 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x70]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.0x4356cb.83
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2e4], 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx + 8]
shr eax, 1
and eax, 1
jne 0x439ce0
lea ecx, [ebp - 0x2e4]
push ecx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x28]
push eax
call fcn.00423a30
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x439c57
jmp 0x43d1b1
cmp dword [ebp - 0x2e4], 0
je 0x439c76
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], 0
jmp 0x439ce0
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00422f10
add esp, 4
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], edx
cmp dword [ebp - 0x2ec], 0x7fffffff
jl 0x439cc2
jg 0x439cab
cmp dword [ebp - 0x2f0], 0xffffffff
jb 0x439cc2
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 8]
or ecx, 2
mov edx, dword [ebp - 0x2f8]
mov dword [edx + 8], ecx
jmp 0x439ce0
mov eax, dword [ebp - 0x2f0]
add eax, 1
mov ecx, dword [ebp - 0x2ec]
adc ecx, 0
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0xc], 0
je 0x439e13
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc4], 0
je 0x439d41
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
mov dword [ebp - 0x2dc], edx
jmp 0x439d19
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp - 0x2dc]
cmp dword [edx + 4], 0
je 0x439d27
jmp 0x439d0a
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x2dc]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x2e0], ecx
jmp 0x439d53
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x2e0]
push edx
call fcn.0042c070
add esp, 4
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x718]
cmp dword [ecx], 0xffffffff
jne 0x439d88
mov edx, dword [ebp - 0x718]
cmp dword [edx + 4], 0x7fffffff
je 0x439d98
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 8]
shr ecx, 1
and ecx, 1
je 0x439da4
mov dword [ebp - 8], 0xd
jmp 0x43d1b1
mov edx, dword [ebp - 0x2e0]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], ecx
mov edx, dword [ebp - 0x2ec]
cmp edx, dword [ebp - 0x71c]
jg 0x439dfc
jl 0x439ddf
mov eax, dword [ebp - 0x2f0]
cmp eax, dword [ebp - 0x720]
jae 0x439dfc
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ebp - 0x2f0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx + 8]
shr edx, 1
and edx, 1
je 0x439ef7
mov dword [ebp - 0x2f4], 0
lea eax, [ebp - 0x2f0]
push eax
push 8
call fcn.00409e10
add esp, 8
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
and edx, 0x3fffffff
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2f0]
add eax, 1
mov ecx, dword [ebp - 0x2ec]
adc ecx, 0
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
lea edx, [ebp - 0x2e4]
push edx
push 0
mov eax, dword [ebp - 0x2ec]
push eax
mov ecx, dword [ebp - 0x2f0]
push ecx
push 0
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x28]
push eax
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x439ed7
cmp dword [ebp - 0x2e4], 0
jne 0x439ed7
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
mov dword [ebp - 0x2f4], ecx
cmp dword [ebp - 0x2f4], 0x64
jl 0x439e31
cmp dword [ebp - 8], 0
je 0x439ee2
jmp 0x43d1b1
cmp dword [ebp - 0x2e4], 0
jne 0x439ef7
mov dword [ebp - 8], 0xd
jmp 0x43d1b1
mov edx, dword [ebp - 0x2f8]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x2f8]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2f0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 4], eax
jmp case.0x4356cb.83
mov dword [ebp - 0x340], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2fc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x74
jne 0x439f8e
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
mov ecx, dword [eax]
mov dword [ebp - 0x320], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x31c], edx
jmp 0x439fa1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffa
jne 0x439ffd
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x439ffd
mov ecx, dword [ebp - 0x334]
movsx edx, byte [ecx + 1]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx + ecx]
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
mov dword [ebp - 0x340], eax
jmp 0x43a011
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x32c], 0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 1
je 0x43a02c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x20
je 0x43a04d
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x320]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x31c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0x10
je 0x43a088
mov edx, dword [ebp - 0x334]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x724], eax
jmp 0x43a092
mov dword [ebp - 0x724], 0
mov ecx, dword [ebp - 0x724]
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x2fc]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x43a0bf
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx]
mov dword [ebp - 0x308], edx
jmp 0x43a0c9
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0xa
push edx
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00428000
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x334]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x334]
mov dword [ecx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x43a123
jmp 0x43d1b1
mov edx, dword [ebp - 4]
cmp dword [edx + 0xe0], 0
je 0x43a175
cmp dword [ebp - 0x340], 0
je 0x43a175
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
mov edx, dword [ebp - 0x330]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
mov edx, dword [ebp - 0x340]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xdc]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xe0]
call eax
add esp, 0x18
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffffa
jne 0x43a215
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xe0], 0
je 0x43a215
mov edx, dword [ebp - 0x34c]
movsx eax, byte [edx + 1]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [eax + edx]
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 2
je 0x43a213
mov edx, dword [ebp - 0x34c]
movzx eax, byte [edx + 4]
test eax, eax
je 0x43a213
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00422f10
add esp, 4
mov ecx, dword [ebp - 0x34c]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
jmp 0x43a229
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x348], 0
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx + 2]
push eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00428450
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x34c]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x34c]
mov dword [ecx + 0x20], 0
cmp dword [ebp - 8], 0
je 0x43a26b
jmp 0x43d1b1
mov edx, dword [ebp - 0x350]
and edx, 1
je 0x43a2d7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x43a2d7
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + 0x24]
and edx, 0x20
jne 0x43a2d7
mov eax, dword [ebp - 0x34c]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [eax + 0x40]
push edx
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x344]
push edx
push 9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xdc]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xe0]
call eax
add esp, 0x18
jmp case.0x4356cb.83
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00432710
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], 0
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x354], 0
lea edx, [ebp - 0x354]
push edx
mov eax, dword [ebp - 0x35c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x358]
push edx
call fcn.00441560
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43a367
jmp 0x43d1b1
cmp dword [ebp - 0x354], 0
je 0x43a375
jmp 0x435787
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x360]
push edx
call fcn.004414e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43a3bf
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ecx + 0x1c], 0
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x36c]
push edx
call fcn.00422f30
add esp, 4
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x364]
cmp ecx, dword [eax + 0x64]
jbe 0x43a439
jmp 0x43d2aa
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x364]
push eax
push 0
mov ecx, dword [ebp - 0x36c]
push ecx
call fcn.0042ca90
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43a463
jmp 0x43d1b1
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0xc], 0
jne 0x43a490
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0x1000
je 0x43a490
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042ba10
add esp, 4
test eax, eax
je 0x43a490
jmp 0x43d2c7
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x43a4e1
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 3]
test eax, eax
je 0x43a50c
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x378], edx
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0x374], eax
jmp 0x43a5d5
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx]
cmp edx, 2
jne 0x43a57b
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax]
mov dword [ebp - 0x37c], ecx
lea edx, [ebp - 0x378]
push edx
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x30]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x380]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43a579
jmp 0x43d1b1
jmp 0x43a5d5
mov eax, dword [ebp - 0x384]
push eax
call fcn.00430a10
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43a598
jmp 0x43d1b1
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x43a5b7
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x28]
push eax
call fcn.00422f10
add esp, 4
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x378]
mov dword [ecx], edx
mov eax, dword [ebp - 0x374]
mov dword [ecx + 4], eax
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x388], edx
mov eax, dword [ebp - 0x388]
mov byte [eax + 2], 1
mov ecx, dword [ebp - 0x388]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x388]
movzx eax, byte [edx]
test eax, eax
jne 0x43a639
mov ecx, dword [ebp - 0x388]
mov edx, dword [ecx + 0x28]
push edx
call fcn.0041e530
add esp, 4
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x390]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x7d
jne 0x43a69c
mov eax, dword [ebp - 0x390]
mov dword [eax + 0x20], 0xffffffff
mov ecx, dword [ebp - 0x394]
push ecx
call fcn.00422ef0
add esp, 4
test eax, eax
je 0x43a69c
jmp case.0x4356cb.83
lea edx, [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x394]
push eax
call fcn.00423a30
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x390]
mov dl, byte [ebp - 0x38c]
mov byte [ecx + 2], dl
mov eax, dword [ebp - 0x390]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x390]
mov dword [ecx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x43a6e6
jmp 0x43d1b1
mov edx, dword [ebp - 0x28]
cmp dword [edx + 8], 0
jle 0x43a6fd
cmp dword [ebp - 0x38c], 0
je 0x43a6fd
jmp 0x435787
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x3ac], eax
lea ecx, [ebp - 0x398]
push ecx
mov edx, dword [ebp - 0x3ac]
push edx
call fcn.004239e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43a74a
jmp 0x43d1b1
cmp dword [ebp - 0x398], 0
jne 0x43a7ab
mov eax, dword [ebp - 0x3ac]
push eax
call fcn.004240b0
add esp, 4
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], edx
cmp dword [ebp - 0x3a4], 0
jl 0x43a7ab
jg 0x43a782
cmp dword [ebp - 0x3a8], 0
jb 0x43a7ab
mov ecx, dword [ebp - 0x3a4]
push ecx
mov edx, dword [ebp - 0x3a8]
push edx
call fcn.0040cd20
add esp, 8
cwde
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ecx + 0xc]
jge 0x43a7ab
mov dword [ebp - 0x398], 1
cmp dword [ebp - 0x398], 0
je 0x43a7b9
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xa8], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], 1
mov ecx, dword [ebp - 0x3b4]
movzx edx, byte [ecx]
cmp edx, 1
jne 0x43a81b
lea eax, [ebp - 0x3b0]
push eax
mov ecx, dword [ebp - 0x3b4]
push ecx
call fcn.004412d0
add esp, 8
mov dword [ebp - 8], eax
jmp 0x43a85a
mov edx, dword [ebp - 0x3b4]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x3b8], eax
lea ecx, [ebp - 0x3b0]
push ecx
mov edx, dword [ebp - 0x3b8]
push edx
call fcn.004239e0
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x3b4]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x3b4]
mov dword [ecx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x43a865
jmp 0x43d1b1
mov edx, dword [ebp - 0x3b4]
mov al, byte [ebp - 0x3b0]
mov byte [edx + 2], al
cmp dword [ebp - 0x3b0], 0
je 0x43a882
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3bc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00441380
add esp, 8
mov dword [ebp - 8], eax
jmp 0x43a8ff
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
cmp dword [edx + eax*4], 0
jne case.0x4356cb.6
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
jne 0x43a946
mov eax, dword [ebp - 0x3bc]
mov byte [eax + 2], 0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0xa0]
add ecx, 1
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0xa0], ecx
jmp case.0x4356cb.13
cmp dword [ebp - 8], 0x65
je 0x43a951
jmp 0x43d1b1
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x3bc]
mov byte [eax + 2], 1
jmp 0x4356e4
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
and eax, 1
je 0x43a9a6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x43a9c9
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042baa0
add esp, 4
mov dword [ebp - 0x728], eax
jmp 0x43a9d3
mov dword [ebp - 0x728], 0
mov ecx, dword [ebp - 0x728]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x43a9e7
jmp 0x43d1b1
mov edx, dword [ebp - 0x28]
movzx eax, byte [edx]
cmp eax, 0x7e
jne 0x43aa0d
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x3ec]
push edx
call fcn.004400c0
add esp, 8
mov dword [ebp - 8], eax
jmp 0x43aaae
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x28]
mov ax, word [edx + 0x10]
mov word [ebp - 0x3d0], ax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
and edx, 0x10
je 0x43aa69
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x72c], ecx
jmp 0x43aa73
mov dword [ebp - 0x72c], 0
mov edx, dword [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
and ecx, 0xa
push ecx
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00428000
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3ec]
mov dword [edx + 0x1c], 0
cmp dword [ebp - 8], 0
je 0x43aab9
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x3f4]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x404], edx
mov eax, dword [ebp - 0x28]
mov cx, word [eax + 0xc]
mov word [ebp - 0x3fc], cx
mov byte [ebp - 0x3fa], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x400], eax
lea ecx, [ebp - 0x3f0]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x404]
push edx
mov eax, dword [ebp - 0x408]
push eax
call fcn.00423ad0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43ab49
jmp 0x43d1b1
cmp dword [ebp - 0x3f0], 0
jne 0x43ab71
push 4
mov ecx, dword [ebp - 0x408]
push ecx
call fcn.00428450
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43ab71
jmp 0x43d1b1
mov edx, dword [ebp - 0x3f4]
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x3f4]
mov dword [eax + 0x20], 0
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x418]
push eax
call fcn.00430a10
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43abc2
jmp 0x43d1b1
mov ecx, dword [ebp - 0x418]
movzx edx, byte [ecx + 2]
test edx, edx
jne 0x43acab
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
lea eax, [ebp - 0x410]
push eax
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004324c0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43ac13
jmp 0x43d1b1
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x81
jne 0x43ac82
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x414]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x410]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0x40c]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x414]
mov byte [eax + 3], 1
mov ecx, dword [ebp - 0x414]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0x414]
mov edx, dword [ebp - 0x418]
mov dword [ecx + 0x24], edx
jmp 0x43aca9
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x410]
mov dword [edx], eax
mov ecx, dword [ebp - 0x40c]
mov dword [edx + 4], ecx
jmp 0x43acc0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x28]
mov ax, word [edx + 0x10]
mov word [ebp - 0x428], ax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
cmp edx, 0x28
jge 0x43ad0b
mov byte [ebp - 0x426], 0xff
jmp 0x43ad12
mov byte [ebp - 0x426], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x41c], 0
lea edx, [ebp - 0x41c]
push edx
lea eax, [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00432640
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
and ecx, 1
jne 0x43ad6d
mov edx, dword [ebp - 0x41c]
neg edx
mov dword [ebp - 0x41c], edx
jmp 0x43ad7c
mov eax, dword [ebp - 0x41c]
add eax, 1
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 8], 0
je 0x43ad87
jmp 0x43d1b1
cmp dword [ebp - 0x41c], 0
jle 0x43ad95
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb0]
add eax, 1
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], eax
jle 0x43adeb
mov dword [ebp - 8], 6
mov edx, dword [ebp + 8]
mov byte [edx + 0x8e], 2
jmp 0x43d1b1
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], 0
lea edx, [ebp - 0x434]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x438]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00429000
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x434]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
je 0x43ae54
jmp 0x43d1b1
cmp dword [ebp - 0x434], 0
je 0x43ae8a
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x434]
push ecx
mov edx, dword [ebp - 0x438]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00452dc0
add esp, 0x10
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov byte [ebp - 0x1e], cl
jmp case.0x4356cb.83
mov dword [ebp - 0x43c], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x43c]
and eax, ecx
push eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00428d60
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
je 0x43af25
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, dword [ebp - 0x43c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0xc], 0
jle 0x43af25
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0x43c]
cdq
mov esi, dword [ebp - 0x2c]
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0x2c]
mov dword [esi + edx], eax
mov dword [esi + edx + 4], ecx
cmp dword [ebp - 8], 0
je 0x43af30
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x440]
movzx eax, byte [edx]
cmp eax, 1
jne 0x43af70
mov ecx, dword [ebp - 0x440]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0043f300
add esp, 8
jmp 0x43af90
mov ecx, dword [ebp - 0x440]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00428de0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43af90
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x448], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
push eax
lea ecx, [ebp - 0x444]
push ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [edx + 4]
push eax
call fcn.00428b30
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43aff5
jmp 0x43d1b1
mov eax, dword [ebp - 0x444]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x52]
add al, 1
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x52], al
push 0
push 0
push 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004601a0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x52]
sub al, 1
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x52], al
cmp dword [ebp - 8], 0
je 0x43b04c
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x44c], 0x4b01c8
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp + 8]
add ecx, 0x6c
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x464]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov eax, dword [ebp - 4]
push eax
call fcn.00409ba0
add esp, 0x14
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 0
jne 0x43b0d2
mov dword [ebp - 8], 7
jmp 0x43b136
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x9d], 1
mov dword [ebp - 0x450], 0
push 0
lea edx, [ebp - 0x45c]
push edx
push fcn.00464f00
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004601a0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43b119
mov edx, dword [ebp - 0x450]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00407430
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x9d], 0
cmp dword [ebp - 8], 0
je 0x43b158
mov eax, dword [ebp - 4]
push eax
call fcn.00450270
add esp, 4
cmp dword [ebp - 8], 7
jne 0x43b153
jmp 0x43d2c7
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0044e390
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43b17e
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00450510
add esp, 0xc
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0044fff0
add esp, 0xc
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00470090
add esp, 0xc
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x468]
push eax
mov ecx, dword [ebp - 0x470]
mov edx, dword [ecx]
add edx, 1
push edx
mov eax, dword [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x46c]
add ecx, 4
push ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00429fd0
add esp, 0x14
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042c330
add esp, 4
cmp dword [ebp - 0x468], 0
jne 0x43b277
jmp 0x43b2c7
cmp dword [ebp - 0x478], 0
jne 0x43b287
jmp 0x43d2c7
mov eax, dword [ebp - 0x468]
sub eax, 1
cdq
mov ecx, dword [ebp - 0x470]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x470]
mov dword [ecx], esi
mov dword [ecx + 4], eax
push fcn.00407380
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042c780
add esp, 0x14
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0042b7c0
add esp, 8
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
jne 0x43b324
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042c500
add esp, 4
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
jne 0x43b324
jmp 0x43d2c7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
push ecx
call fcn.00413b20
add esp, 0xc
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx + 8]
and edx, 0x20
je 0x43b375
lea eax, [ebp - 0x480]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push edx
call fcn.00413f60
add esp, 8
test eax, eax
jne 0x43b388
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.13
mov ecx, dword [ebp - 0x47c]
push ecx
mov edx, dword [ebp - 0x480]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
push ecx
call fcn.0042c400
add esp, 0xc
jmp 0x4356e4
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x43b403
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042c500
add esp, 4
mov edx, dword [ebp - 0x30]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x43b403
jmp 0x43d2c7
cmp dword [ebp - 0x488], 0
je 0x43b43f
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
push eax
call fcn.00413ff0
add esp, 0x10
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x484], 0
je 0x43b43f
jmp 0x435787
cmp dword [ebp - 0x488], 0
jl 0x43b460
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
push edx
call fcn.00413b20
add esp, 0xc
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x49c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
test edx, edx
je 0x43b4e7
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc4]
mov dword [ebp - 0x48c], eax
jmp 0x43b4bd
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x48c], edx
cmp dword [ebp - 0x48c], 0
je 0x43b4d9
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebp - 0x4a4]
je 0x43b4d9
jmp 0x43b4ae
cmp dword [ebp - 0x48c], 0
je 0x43b4e7
jmp case.0x4356cb.83
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0xcc]
cmp ecx, dword [eax + 0x8c]
jl 0x43b518
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
jmp 0x43d1b1
mov eax, dword [ebp - 0x4a8]
movzx ecx, word [eax + 8]
and ecx, 0x40
jne 0x43b701
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x49c]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x4a0], eax
mov edx, dword [ebp - 0x49c]
cmp dword [edx + 0xc], 0
jne 0x43b55e
mov eax, dword [ebp - 0x4a0]
add eax, 1
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4 + 0x50]
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add ecx, eax
mov dword [ebp - 0x498], ecx
mov eax, dword [ebp - 0x498]
cdq
push edx
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.00407720
add esp, 0xc
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 0
jne 0x43b5ba
jmp 0x43d2c7
mov ecx, dword [ebp - 0x4a8]
push ecx
call fcn.0042be30
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0x4a8]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x48c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x4a0]
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x48c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x88]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x48c]
lea eax, [edx + ecx + 0x50]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x48c]
add ecx, 0x50
mov dword [ebp - 0x490], ecx
jmp 0x43b6d4
mov edx, dword [ebp - 0x490]
add edx, 0x28
mov dword [ebp - 0x490], edx
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x494]
je 0x43b6ff
mov ecx, 0x80
mov edx, dword [ebp - 0x490]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], ecx
jmp 0x43b6c5
jmp 0x43b70f
mov edx, dword [ebp - 0x4a8]
mov eax, dword [edx]
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xcc]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xcc], edx
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
mov edx, dword [edx + 0x24]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0x44], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x48c]
mov eax, dword [ecx + 0x5c]
mov dword [edx + 0x48], eax
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd8]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd8], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x48c]
mov dword [eax + 0xc4], ecx
mov edx, dword [ebp - 0x48c]
add edx, 0x50
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0x48c]
movzx eax, word [edx + 0x40]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
lea eax, [edx + eax*4]
mov ecx, dword [ebp - 0x48c]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.00499430
add esp, 0xc
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ecx + 4]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x14
mov dword [ebp - 0x28], eax
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4ac]
mov eax, dword [edx + 0x30]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 4]
add ecx, dword [edx + eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x4ac]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x4b0], ecx
push 0x1000
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c620
add esp, 0xc
jmp case.0x4356cb.83
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c]
and eax, 0x80000
je 0x43b908
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1c8]
mov ecx, dword [ecx + 0x1cc]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1c8], eax
mov dword [edx + 0x1cc], ecx
jmp 0x43b955
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x43b93a
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1c0]
mov ecx, dword [ecx + 0x1c4]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1c0], eax
mov dword [edx + 0x1c4], ecx
jmp 0x43b955
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x43b9b0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x730]
mov ecx, dword [edx + 0x1c0]
or ecx, dword [eax + 0x1c4]
jne 0x43b9ae
mov edx, dword [ebp - 4]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x734]
mov edx, dword [eax + 0x1c8]
or edx, dword [ecx + 0x1cc]
jne 0x43b9ae
jmp 0x435787
jmp 0x43b9f5
mov eax, dword [ebp + 8]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x738]
mov edx, dword [ebp - 0x738]
mov eax, dword [ecx + 0x40]
or eax, dword [edx + 0x44]
jne 0x43b9f5
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x73c]
mov ecx, dword [edx + 0x1c8]
or ecx, dword [eax + 0x1cc]
jne 0x43b9f5
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp + 8]
cmp dword [edx + 0xc4], 0
je 0x43ba4b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc4]
mov dword [ebp - 0x4b4], ecx
jmp 0x43ba26
mov edx, dword [ebp - 0x4b4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b4]
cmp dword [ecx + 4], 0
je 0x43ba34
jmp 0x43ba17
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x4b4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
jmp 0x43ba5a
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042c070
add esp, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0042c070
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x740], edx
mov dword [ebp - 0x744], eax
mov ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x744]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jg 0x43bacb
jl 0x43babb
mov ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x744]
mov eax, dword [ecx]
cmp eax, dword [edx]
jae 0x43bacb
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x748]
cmp dword [eax + 4], 0
jl 0x43bb21
jg 0x43bb01
mov ecx, dword [ebp - 0x748]
cmp dword [ecx], 0
jbe 0x43bb21
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x30]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x4bc], ecx
cmp dword [ebp - 0x4bc], 0
jl 0x43bbec
jg 0x43bb7f
cmp dword [ebp - 0x4c0], 0
jbe 0x43bbec
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x74c]
cmp dword [eax + 4], 0
jl 0x43bbb7
jg 0x43bba1
mov ecx, dword [ebp - 0x74c]
cmp dword [ecx], 0
jbe 0x43bbb7
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x754], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x750], ecx
jmp 0x43bbcb
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0
mov edx, dword [ebp - 0x750]
push edx
mov eax, dword [ebp - 0x754]
push eax
lea ecx, [ebp - 0x4c0]
push ecx
call fcn.0040c950
add esp, 0xc
test eax, eax
je 0x43bbfe
mov edx, dword [ebp - 0x14]
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
jmp 0x43bc12
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4bc]
mov dword [eax + 4], edx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x758]
mov edx, dword [eax]
or edx, dword [ecx + 4]
je 0x43bc7f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x75c]
cmp dword [ecx + 4], 0
jl 0x43bc7a
jg 0x43bc64
mov edx, dword [ebp - 0x75c]
cmp dword [edx], 0
jbe 0x43bc7a
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
sub ecx, 1
mov edx, dword [eax + 4]
sbb edx, 0
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x760]
cmp dword [ecx + 4], 0x80000000
jl 0x43bcce
jg 0x43bcb8
mov edx, dword [ebp - 0x760]
cmp dword [edx], 0
jbe 0x43bcce
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
sub ecx, 1
mov edx, dword [eax + 4]
sbb edx, 0
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x764]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
jne 0x43bcef
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
lea edx, [ecx*4 + 0x1c]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.004077d0
add esp, 0xc
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0
jne 0x43bd32
jmp 0x43d2c7
mov edx, dword [ebp - 0x4c4]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x4c4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x4c4]
mov al, byte [ebp - 0x4c8]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 1], pe_nt_image_headers32
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c4]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x28]
mov byte [ecx], 0x95
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x4cc], edx
mov eax, dword [ebp - 0x4d0]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x4cc]
je 0x43be28
mov edx, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4cc]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x4d0]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0x4d4], edx
jmp 0x43bdfb
mov eax, dword [ebp - 0x4d4]
sub eax, 1
mov dword [ebp - 0x4d4], eax
cmp dword [ebp - 0x4d4], 0
jl 0x43be28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0x4d4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4d0]
mov dword [ecx + eax*4 + 0x1c], edx
jmp 0x43bdec
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0xc], eax
push 1
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.0042c300
add esp, 0xc
mov ecx, dword [ebp - 0x4d0]
lea edx, [ebp - 0x500]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4d0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0x4d0]
mov byte [ecx + 0x18], 0
mov edx, dword [ebp - 0x4d0]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x4d0]
movzx ecx, byte [eax + 0x1a]
push ecx
mov edx, dword [ebp - 0x4d0]
push edx
mov eax, dword [ebp - 0x4d0]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x4d0]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x43bf02
mov edx, dword [ebp - 0x4d0]
cmp dword [edx + 0x14], 0
je 0x43bee8
lea eax, [ebp - 0x500]
push eax
call fcn.00432e80
add esp, 4
push eax
push 0x4b0240
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d310
add esp, 0xc
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + 0x14]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.0042be30
add esp, 4
cmp dword [ebp - 8], 0
je 0x43bf02
jmp 0x43d1b1
mov edx, dword [ebp - 0x4d0]
movzx eax, byte [edx + 0x18]
test eax, eax
je 0x43bf3e
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx - 0x10]
mov dword [ebp - 0x4d4], edx
cmp dword [ebp - 0x4d4], 0
je 0x43bf3e
push 0
push 1
mov eax, dword [ebp - 0x4d4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
push eax
call fcn.0042c400
add esp, 0xc
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x504]
push edx
call fcn.0042bc50
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43bf9a
mov eax, dword [ebp - 0x504]
push eax
call fcn.00432e80
add esp, 4
push eax
push 0x4b0244
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d310
add esp, 0xc
jmp 0x43d1b1
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x504]
push eax
call fcn.0042b7c0
add esp, 8
mov ecx, dword [ebp - 0x504]
push ecx
call fcn.0042c5a0
add esp, 4
test eax, eax
je 0x43bfc6
jmp 0x43d2aa
jmp case.0x4356cb.83
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x50c], 0xffffffff
mov edx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], edx
lea eax, [ebp - 0x50c]
push eax
lea ecx, [ebp - 0x510]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00488550
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c038
cmp dword [ebp - 8], 5
je 0x43c027
jmp 0x43d1b1
mov dword [ebp - 8], 0
mov dword [ebp - 0x514], 1
mov dword [ebp - 0x518], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x508], edx
jmp 0x43c074
mov eax, dword [ebp - 0x518]
add eax, 1
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x508]
add ecx, 0x28
mov dword [ebp - 0x508], ecx
cmp dword [ebp - 0x518], 3
jge 0x43c09e
mov edx, dword [ebp - 0x518]
mov eax, dword [ebp + edx*4 - 0x514]
cdq
push edx
push eax
mov eax, dword [ebp - 0x508]
push eax
call fcn.0042c400
add esp, 0xc
jmp 0x43c056
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x51c], eax
mov ecx, dword [ebp - 0x51c]
push ecx
call fcn.004292b0
add esp, 4
mov dword [ebp - 0x524], eax
mov edx, dword [ebp - 0x524]
push edx
call fcn.0041a300
add esp, 4
mov dword [ebp - 0x528], eax
cmp dword [ebp - 0x52c], 0xffffffff
jne 0x43c11a
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.0041a310
add esp, 4
test eax, eax
jne 0x43c139
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x52c], edx
push 1
mov eax, dword [ebp - 0x524]
push eax
call fcn.00419ec0
add esp, 8
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x52c], 5
jne 0x43c18b
mov ecx, dword [ebp - 0x520]
push ecx
call fcn.0040af50
add esp, 4
test eax, eax
je 0x43c17f
mov edx, dword [ebp - 0x524]
push edx
call fcn.0041a4a0
add esp, 4
test eax, eax
jne 0x43c18b
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
cmp ecx, dword [ebp - 0x528]
je 0x43c28e
cmp dword [ebp - 0x528], 5
je 0x43c1b3
cmp dword [ebp - 0x52c], 5
jne 0x43c28e
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x47]
test eax, eax
je 0x43c1ca
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 1
jle 0x43c20f
mov dword [ebp - 8], 1
cmp dword [ebp - 0x52c], 5
jne 0x43c1e6
mov dword [ebp - 0x768], str.into
jmp 0x43c1f0
mov dword [ebp - 0x768], str.out_of
mov edx, dword [ebp - 0x768]
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp + 8]
push eax
call fcn.0042d310
add esp, 0xc
jmp 0x43d1b1
cmp dword [ebp - 0x528], 5
jne 0x43c24c
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x524]
push edx
call fcn.0041a640
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43c24a
mov eax, dword [ebp - 0x52c]
push eax
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.0041a1a0
add esp, 8
jmp 0x43c266
cmp dword [ebp - 0x528], 4
jne 0x43c266
push 2
mov edx, dword [ebp - 0x524]
push edx
call fcn.0041a1a0
add esp, 8
cmp dword [ebp - 8], 0
jne 0x43c28e
xor eax, eax
cmp dword [ebp - 0x52c], 5
sete al
add eax, 1
push eax
mov ecx, dword [ebp - 0x51c]
push ecx
call fcn.0042a6b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c2a0
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x52c]
push eax
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.0041a1a0
add esp, 8
mov dword [ebp - 0x52c], eax
mov edx, 0xa02
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x52c]
push ecx
call fcn.004612a0
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0040af50
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xa], 1
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042b7c0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43c315
jmp 0x43d1b1
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x6c
push eax
call fcn.00472670
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c342
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x530]
push eax
call fcn.004223d0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c38f
cmp dword [ebp - 8], 0x65
je 0x43c383
jmp 0x43d1b1
mov dword [ebp - 8], 0
jmp 0x435787
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 4], 0
jne 0x43c3ab
mov edx, dword [ebp - 4]
push edx
call fcn.00432750
add esp, 4
jmp 0x43c3c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x94], ecx
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x531], cl
movzx edx, byte [ebp - 0x531]
test edx, edx
jne 0x43c3ea
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c]
and ecx, 0x400
jne 0x43c461
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ebp - 0x538], eax
movzx ecx, byte [ebp - 0x531]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x538]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.0042a570
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43c461
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 6
jne 0x43c45c
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x53c]
push edx
push str.database_table_is_locked:__s
mov eax, dword [ebp + 8]
push eax
call fcn.0042d310
add esp, 0xc
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00474040
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x540], 0
je 0x43c4a7
mov edx, dword [ebp - 0x540]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43c4b2
jmp 0x43d1b1
jmp case.0x4356cb.83
xor edx, edx
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x568], edx
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x55c], edx
mov dword [ebp - 0x558], edx
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x550], edx
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
push edx
lea eax, [ebp - 0x570]
push eax
call fcn.0042c6a0
add esp, 8
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x570]
push ecx
call fcn.00432e80
add esp, 4
mov dword [ebp - 0x544], eax
cmp dword [ebp - 0x544], 0
je 0x43c55f
mov edx, dword [ebp + 8]
add edx, 0x6c
push edx
mov eax, dword [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00473a00
add esp, 0x10
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x570]
push ecx
call fcn.0042be30
add esp, 4
cmp dword [ebp - 8], 0
je 0x43c579
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb0]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00473da0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb0]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xb0], edx
cmp dword [ebp - 8], 0
je 0x43c5d0
jmp 0x43d1b1
jmp case.0x4356cb.83
mov dword [ebp - 0x580], 0
mov dword [ebp - 0x57c], 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x578], eax
cmp dword [ebp - 0x578], 0
je 0x43c60c
mov ecx, dword [ebp - 0x578]
cmp dword [ecx], 0
jne 0x43c618
mov dword [ebp - 8], 6
jmp 0x43d1b1
mov edx, dword [ebp - 0x578]
mov eax, dword [edx]
mov dword [ebp - 0x574], eax
lea ecx, [ebp - 0x57c]
push ecx
mov edx, dword [ebp - 0x578]
push edx
mov eax, dword [ebp - 0x574]
mov ecx, dword [eax + 0x18]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x578]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43c663
jmp 0x43d1b1
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ebp - 0x578]
mov dword [ecx], edx
push 2
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435150
add esp, 0x14
mov dword [ebp - 0x580], eax
cmp dword [ebp - 0x580], 0
je 0x43c6bf
mov eax, dword [ebp - 0x580]
mov ecx, dword [ebp - 0x57c]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 0x578]
mov eax, dword [edx + 4]
add eax, 1
mov ecx, dword [ebp - 0x578]
mov dword [ecx + 4], eax
jmp 0x43c6d9
mov edx, dword [ebp - 0x57c]
push edx
mov eax, dword [ebp - 0x574]
mov ecx, dword [eax + 0x1c]
call ecx
add esp, 4
jmp 0x43d2c7
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x588]
add ecx, 0x28
mov dword [ebp - 0x5a0], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a4]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x59c]
mov ecx, dword [eax]
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp - 0x598]
mov eax, dword [edx]
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x588]
mov ecx, dword [eax]
mov dword [ebp - 0x5a8], ecx
mov dword [ebp - 0x584], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], 0
jmp 0x43c78c
mov ecx, dword [ebp - 0x590]
add ecx, 1
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 0x590]
cmp edx, dword [ebp - 0x5ac]
jge 0x43c7bd
mov eax, dword [ebp - 0x590]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x590]
mov edx, dword [ebp - 0x594]
mov dword [edx + ecx*4], eax
jmp 0x43c77d
mov eax, dword [ebp - 0x594]
push eax
mov ecx, dword [ebp - 0x5ac]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x5a8]
push ecx
mov edx, dword [ebp - 0x59c]
push edx
mov eax, dword [ebp - 0x58c]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x598]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43c80f
jmp 0x43d1b1
mov ecx, dword [ebp - 0x59c]
push ecx
mov edx, dword [ebp - 0x58c]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x5a4]
mov byte [ecx + 2], 0
cmp dword [ebp - 0x584], 0
je 0x43c842
jmp 0x435787
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp - 0x5dc]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x43c890
mov edx, dword [ebp - 0x5b0]
push edx
call fcn.0042c330
add esp, 4
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x5d8]
mov ecx, dword [eax]
mov dword [ebp - 0x5d4], ecx
xor edx, edx
mov dword [ebp - 0x5d0], edx
mov dword [ebp - 0x5cc], edx
mov dword [ebp - 0x5c8], edx
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], edx
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5b0]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 1
mov eax, dword [ebp - 0x5b0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 8]
push edx
lea eax, [ebp - 0x5d0]
push eax
mov ecx, dword [ebp - 0x5dc]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x5d4]
mov ecx, dword [eax + 0x2c]
call ecx
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x5d8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004328a0
add esp, 8
cmp dword [ebp - 0x5bc], 0
je 0x43c958
mov ecx, dword [ebp - 0x5bc]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0042b7c0
add esp, 8
mov ecx, dword [ebp - 0x5b0]
push ecx
call fcn.0042c5a0
add esp, 4
test eax, eax
je 0x43c984
jmp 0x43d2aa
cmp dword [ebp - 8], 0
je 0x43c98f
jmp 0x43d1b1
jmp case.0x4356cb.83
mov dword [ebp - 0x5e0], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x43c9c6
jmp case.0x4356cb.83
mov eax, dword [ebp - 0x5ec]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax]
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5ec]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x5e4]
mov edx, dword [ecx + 0x24]
call edx
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43ca1e
jmp 0x43d1b1
mov edx, dword [ebp - 0x5ec]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x5e4]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x5e0], eax
cmp dword [ebp - 0x5e0], 0
jne 0x43ca4a
jmp case.0x4356cb.13
jmp 0x4356e4
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5f0], ecx
push 1
mov edx, dword [ebp - 0x5f0]
push edx
call fcn.0042b7c0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43ca8f
jmp 0x43d1b1
mov eax, dword [ebp - 0x5f0]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x5f4]
push edx
mov eax, dword [ebp - 0x5f4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x5f4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004328a0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
and eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
cmp dword [ebp - 8], 0
je 0x43cae6
jmp 0x43d1b1
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x614], ecx
cmp dword [ebp - 0x614], 0
je 0x43cb0e
mov edx, dword [ebp - 0x614]
cmp dword [edx], 0
jne 0x43cb1a
mov dword [ebp - 8], 6
jmp 0x43d1b1
mov eax, dword [ebp - 0x614]
mov ecx, dword [eax]
mov dword [ebp - 0x5f8], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x5f8]
cmp dword [ecx + 0x34], 0
je 0x43ccba
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x4e]
mov byte [ebp - 0x619], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x604], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], 0
jmp 0x43cb89
mov edx, dword [ebp - 0x5fc]
add edx, 1
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [ebp - 0x618]
jge 0x43cbbd
mov ecx, dword [ebp - 0x5fc]
mov edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x600]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x600]
add ecx, 0x28
mov dword [ebp - 0x600], ecx
jmp 0x43cb7a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 2]
mov byte [edx + 0x4e], cl
lea edx, [ebp - 0x610]
push edx
mov eax, dword [ebp - 0x604]
push eax
mov ecx, dword [ebp - 0x618]
push ecx
mov edx, dword [ebp - 0x614]
push edx
mov eax, dword [ebp - 0x5f8]
mov ecx, dword [eax + 0x34]
call ecx
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0x619]
mov byte [edx + 0x4e], al
mov ecx, dword [ebp - 0x614]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004328a0
add esp, 8
cmp dword [ebp - 8], 0
jne 0x43cc39
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0
je 0x43cc39
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x610]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x60c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 0x13
jne 0x43cca0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x43cca0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
cmp eax, 4
jne 0x43cc6a
mov dword [ebp - 8], 0
jmp 0x43cc9e
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 2]
cmp edx, 5
jne 0x43cc82
mov dword [ebp - 0x76c], 2
jmp 0x43cc8f
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x76c]
mov byte [edx + 0x8e], al
jmp 0x43ccaf
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
cmp dword [ebp - 8], 0
je 0x43ccba
jmp 0x43d1b1
jmp case.0x4356cb.83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00420140
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00435530
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x620], edx
mov dword [ebp - 0x624], 0
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xc], 0
je 0x43cd6b
mov ecx, dword [ebp - 0x620]
push ecx
call fcn.00420140
add esp, 4
mov dword [ebp - 0x624], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x624]
cmp eax, dword [edx + 0xc]
jae 0x43cd6b
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x624], edx
mov eax, dword [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0x620]
push ecx
call fcn.00421230
add esp, 8
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4356cb.83
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 2]
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x62c]
lea edx, [ecx*4 + 0x1c]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.004077d0
add esp, 0xc
mov dword [ebp - 0x628], eax
cmp dword [ebp - 0x628], 0
jne 0x43cdcd
jmp 0x43d2c7
mov edx, dword [ebp - 0x628]
mov dword [edx], 0
mov eax, dword [ebp - 0x628]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x628]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x628]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x628]
mov al, byte [ebp - 0x62c]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 1], pe_nt_image_headers32
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x628]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
add edx, 2
mov eax, dword [ebp - 0x28]
mov byte [eax], dl
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x630]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x14]
je 0x43cebf
mov ecx, dword [ebp - 0x630]
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov eax, dword [ebp - 0x630]
movzx ecx, byte [eax + 0x1a]
sub ecx, 1
mov dword [ebp - 0x634], ecx
jmp 0x43ce92
mov edx, dword [ebp - 0x634]
sub edx, 1
mov dword [ebp - 0x634], edx
cmp dword [ebp - 0x634], 0
jl 0x43cebf
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 8]
add ecx, dword [ebp - 0x634]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x634]
mov eax, dword [ebp - 0x630]
mov dword [eax + edx*4 + 0x1c], ecx
jmp 0x43ce83
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0xffff3e00
or edx, 1
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x630]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x630]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x630]
movzx ecx, byte [eax + 0x1a]
push ecx
mov edx, dword [ebp - 0x630]
push edx
mov eax, dword [ebp - 0x630]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x630]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x43cf83
mov edx, dword [ebp - 0x630]
cmp dword [edx + 0x14], 0
je 0x43cf51
mov eax, dword [ebp - 0x14]
push eax
call fcn.00432e80
add esp, 4
push eax
push 0x4b02ac
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d310
add esp, 0xc
mov edx, dword [ebp - 0x630]
mov eax, dword [edx + 0x14]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x630]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xd8
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00430720
add esp, 0x10
cmp dword [ebp - 8], 0
je 0x43cf83
jmp 0x43d1b1
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 8]
and edx, 0x12
je 0x43cfb5
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042b7c0
add esp, 8
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042c5a0
add esp, 4
test eax, eax
je 0x43cfb5
jmp 0x43d2aa
jmp case.0x4356cb.83
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x50]
and ecx, 0x81
je 0x43d10e
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
shr eax, 1
and eax, 1
jne 0x43d10e
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x10], 0
je 0x43cff8
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x770], eax
jmp 0x43d007
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
je 0x43d10e
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x50]
and edx, 0x80
je 0x43d085
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x63c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00434d20
add esp, 8
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x644]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc0]
push eax
call dword [ebp - 0x640]
add esp, 8
mov ecx, dword [ebp - 0x644]
push ecx
call fcn.00407380
add esp, 4
jmp 0x43d10e
mov edx, dword [ebp - 4]
cmp dword [edx + 0xac], 1
jle 0x43d0e9
mov eax, dword [ebp - 0x63c]
push eax
push str.____s
mov ecx, dword [ebp - 4]
push ecx
call fcn.00409ba0
add esp, 0xc
mov dword [ebp - 0x648], eax
mov edx, dword [ebp - 0x648]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc0]
push edx
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
call ecx
add esp, 0x10
mov edx, dword [ebp - 0x648]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004074a0
add esp, 8
jmp 0x43d10e
mov ecx, dword [ebp - 0x63c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc0]
push ecx
push 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xbc]
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
cmp edx, dword [0x4ae244]
jl 0x43d183
mov dword [ebp - 0x638], 1
jmp 0x43d137
mov eax, dword [ebp - 0x638]
add eax, 1
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x638]
cmp edx, dword [ecx + 0x88]
jge 0x43d179
mov eax, dword [ebp - 0x638]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
movzx eax, byte [edx + eax]
cmp eax, 0x14
jne 0x43d177
mov ecx, dword [ebp - 0x638]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov dword [eax + ecx + 4], 0
jmp 0x43d128
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
add eax, 1
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
jmp 0x435787
jmp 0x43568a
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x49]
test eax, eax
je 0x43d1c3
mov dword [ebp - 8], 7
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6c], 0
jne 0x43d1f3
cmp dword [ebp - 8], 0xc0a
je 0x43d1f3
mov edx, dword [ebp - 8]
push edx
call fcn.00487a10
add esp, 4
push eax
push 0x4b02b8
mov eax, dword [ebp + 8]
push eax
call fcn.0042d310
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040b070
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
push edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x24]
cdq
mov ecx, 0x14
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
mov edx, dword [ebp - 8]
push edx
call fcn.00409da0
add esp, 0x14
mov eax, dword [ebp + 8]
push eax
call fcn.00430050
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x43d25e
mov ecx, dword [ebp - 4]
push ecx
call fcn.00407b60
add esp, 4
mov dword [ebp - 8], 1
movzx edx, byte [ebp - 0x1e]
test edx, edx
jle 0x43d281
movzx eax, byte [ebp - 0x1e]
sub eax, 1
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004501c0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 8]
push edx
call fcn.0042e9e0
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x43d330
push 0x4b02dc
mov eax, dword [ebp + 8]
push eax
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 0x12
jmp 0x43d1b1
mov ecx, dword [ebp - 4]
push ecx
call fcn.00407b60
add esp, 4
push 0x4b02f4
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 8
mov dword [ebp - 8], 7
jmp 0x43d1b1
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x49]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 9
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00487a10
add esp, 4
push eax
push 0x4b0304
mov edx, dword [ebp + 8]
push edx
call fcn.0042d310
add esp, 0xc
jmp 0x43d1b1
pop edi
pop esi
mov esp, ebp
pop ebp
ret