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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x820
mov eax, dword [0x4b9510]
xor eax, ebp
mov dword [ebp - 0x2d4], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov byte [ebp - 0x22], 0
mov edx, dword [ebp - 4]
mov al, byte [edx + 0x42]
mov byte [ebp - 0x21], al
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x40], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 8]
push eax
call fcn.004264c0
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 7
jne 0x42cebd
jmp 0x4348c4
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x184], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf8], 0
je 0x42cf00
jmp 0x4348ed
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x130], 0
je 0x42cf34
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xac]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x48]
xor edx, edx
div dword [ecx + 0x138]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x138]
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
imul eax, eax, 0x14
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
jmp 0x42cf4e
mov ecx, dword [ebp - 0x2c]
add ecx, 0x14
mov dword [ebp - 0x2c], ecx
mov edx, 1
test edx, edx
je 0x43479f
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0x6e8], edx
cmp dword [ebp - 0x6e8], 0x9f
ja case.0x42cf86.112
mov eax, dword [ebp - 0x6e8]
jmp dword [eax*4 + 0x434940]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf8], 0
je 0x42cfb0
jmp 0x4348ed
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x130], 0
je 0x42d00b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jb 0x42d00b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax + 0x138]
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
xor edx, edx
div dword [esi + 0x138]
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x134]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x130]
call edx
add esp, 4
test eax, eax
je 0x42d00b
mov dword [ebp - 8], 9
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, 4
mov eax, dword [ebp - 0x34]
mov word [eax + 8], dx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
push 0
push 0x14
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.00495a20
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, 0x80
mov ecx, dword [ebp - 0x34]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
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 - 0x2c]
cmp dword [ecx + 8], 0
je 0x42d0cd
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
push 0
push 0x14
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
call fcn.00495a20
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov eax, 0x80
mov ecx, dword [ebp - 0x34]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, 4
mov edx, dword [ebp - 0x34]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x50]
imul edx, edx, 0x14
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 1
jne case.0x42cf86.75
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 4], 0
jne 0x42d259
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb8], 0
je 0x42d259
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 4]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc0], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00428760
add esp, 8
mov eax, dword [ebp - 0x54]
push eax
call fcn.00427a30
add esp, 4
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x40], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 8], 4
jne 0x42d236
mov edx, dword [ebp - 0x58]
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 - 0x58], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x58]
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
jmp case.0x42cf86.112
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov cl, byte [eax + 8]
mov byte [edx + 0x8e], cl
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x58]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x28], 0
je 0x42d326
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
test eax, eax
je 0x42d2e5
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
mov eax, dword [edx*4 + 0x4ab31c]
push eax
push str._s_constraint_failed
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428540
add esp, 0xc
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x10], 0
je 0x42d2e3
mov eax, dword [ebp - 0x2c]
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.00428180
add esp, 0x10
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], eax
jmp 0x42d2fd
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
push 0x4b49a8
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
push str.abort_at__d_in___s_:__s
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call fcn.00411360
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00425ff0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x42d347
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], 5
jmp 0x42d35a
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 0x43486f
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
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.0x42cf86.112
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
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 - 0x2c]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
fld qword [edx]
fstp qword [eax]
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov byte [eax], 0x4e
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00411680
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0x21]
cmp edx, 1
je 0x42d4af
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004250b0
add esp, 0x14
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x21]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00428cf0
add esp, 8
test eax, eax
je 0x42d453
jmp 0x4348c4
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 - 0x2c]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x42d490
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040eda0
add esp, 8
mov edx, dword [ebp - 0x2c]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x60]
jle case.0x42cf86.78
jmp 0x4348a7
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
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 - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x21]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0xc], 0
jle 0x42d564
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 3]
cdq
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], edx
mov edx, dword [ebp - 0x6ec]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x6f4]
jne 0x42d564
mov ecx, dword [ebp - 0x6ec]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp - 0x6f0]
jne 0x42d564
mov eax, 0xa10
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0xc]
sub eax, dword [edx + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
neg edx
sbb edx, edx
and edx, 0x100
add edx, 1
mov word [ebp - 0x60], dx
mov eax, dword [ebp - 0x14]
mov cx, word [ebp - 0x60]
mov word [eax + 8], cx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], 0
cmp dword [ebp - 0x5c], 0
jle 0x42d5f2
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00424de0
add esp, 4
mov edx, dword [ebp - 0x14]
mov ax, word [ebp - 0x60]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
jmp 0x42d5b7
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
or eax, 1
and eax, 0xffffff7f
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
push 0
push 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.004250b0
add esp, 0x14
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x21]
mov byte [eax + 0xa], cl
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
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 - 0x64], eax
mov edx, dword [ebp - 0x64]
push edx
call fcn.0043ead0
add esp, 4
test eax, eax
je 0x42d68a
jmp 0x4348a7
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
push 0x800
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0043eb20
add esp, 0xc
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x70]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x6c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042c3d0
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x42d71d
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00425620
add esp, 4
test eax, eax
je 0x42d71d
jmp 0x4348c4
mov edx, dword [ebp - 0x34]
add edx, 0x28
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x68]
sub ecx, 1
mov dword [ebp - 0x68], ecx
jne 0x42d6ea
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
mov edx, 1
test edx, edx
je 0x42d7cd
push 0x1000
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0043eb20
add esp, 0xc
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x1000
je 0x42d7a7
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00425620
add esp, 4
test eax, eax
je 0x42d7a7
jmp 0x4348c4
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
sub eax, 1
mov dword [ebp - 0x74], eax
test edx, edx
jne 0x42d7b9
jmp 0x42d7cd
mov ecx, dword [ebp - 0x14]
add ecx, 0x28
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x28
mov dword [ebp - 0x34], edx
jmp 0x42d766
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
push 0x1000
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0043eb20
add esp, 0xc
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042a020
add esp, 0xc
jmp case.0x42cf86.112
mov edx, dword [ebp - 4]
cmp dword [edx + 0x130], 0
je 0x42d87f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jb 0x42d87f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x134]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x130]
call ecx
add esp, 4
test eax, eax
je 0x42d87f
mov dword [ebp - 8], 9
jmp 0x43479f
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004284a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42d89b
jmp 0x43479f
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.00428280
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 - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x6f8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x6f8]
mov dword [ecx + 0x68], edx
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], 0
jmp 0x42d8f9
mov ecx, dword [ebp - 0x7c]
add ecx, 1
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [edx + 8]
jge 0x42d948
mov ecx, dword [ebp - 0x7c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x78]
movzx eax, word [edx + ecx + 8]
and eax, 0x1000
je 0x42d934
mov ecx, dword [ebp - 0x7c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x78]
push ecx
call fcn.00425620
add esp, 4
test eax, eax
je 0x42d934
jmp 0x4348c4
mov edx, dword [ebp - 0x7c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x78]
push edx
call fcn.004295d0
add esp, 4
jmp 0x42d8f0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x45]
test ecx, ecx
je 0x42d958
jmp 0x4348c4
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x4c]
and eax, 4
je 0x42d984
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xbc]
push eax
push 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x10
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
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 0x43486f
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x42d9fa
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x42da1c
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00425700
add esp, 4
mov dword [ebp - 0x6fc], eax
jmp 0x42da26
mov dword [ebp - 0x6fc], 0
cmp dword [ebp - 0x6fc], 0
jne 0x42da64
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x42da51
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00425700
add esp, 4
mov dword [ebp - 0x700], eax
jmp 0x42da5b
mov dword [ebp - 0x700], 0
cmp dword [ebp - 0x700], 0
je 0x42da69
jmp 0x4348c4
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0x12
jne 0x42da91
push 0
movzx ecx, byte [ebp - 0x21]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.00429660
add esp, 0xc
test eax, eax
je 0x42da91
jmp 0x4348c4
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 8]
and ecx, 0x12
jne 0x42dab9
push 0
movzx edx, byte [ebp - 0x21]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00429660
add esp, 0xc
test eax, eax
je 0x42dab9
jmp 0x4348c4
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0x20]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
cdq
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x704], edx
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [ebp - 0x704]
jl 0x42db08
jg 0x42db03
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x708]
jbe 0x42db08
jmp 0x4348a7
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, dword [ebp - 0x20]
sete cl
push ecx
mov edx, dword [ebp - 0x88]
add edx, 2
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00425450
add esp, 0xc
test eax, eax
je 0x42db33
jmp 0x4348c4
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 - 0x20]
je 0x42db6f
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00493210
add esp, 0xc
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x20]
add ecx, dword [edx + 0xc]
push ecx
call fcn.00493210
add esp, 0xc
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x88]
add eax, 1
mov ecx, dword [ebp - 0x84]
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 - 0x88]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x21]
mov byte [ecx + 0xa], dl
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.00440e20
add esp, 4
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.00440e20
add esp, 4
mov word [ebp - 0xac], ax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx + 8]
or eax, edx
mov word [ebp - 0x8c], ax
movzx eax, word [ebp - 0x8c]
and eax, 1
je 0x42dc66
jmp 0x42e03f
movzx ecx, word [ebp - 0xb0]
movzx edx, word [ebp - 0xac]
and ecx, edx
and ecx, 4
je 0x42de66
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0xa8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xa4], edx
mov byte [ebp - 0xb1], 1
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov dword [ebp - 0x70c], ecx
mov edx, dword [ebp - 0x70c]
sub edx, 0x2f
mov dword [ebp - 0x70c], edx
cmp dword [ebp - 0x70c], 3
ja case.default.0x42dcdc
mov eax, dword [ebp - 0x70c]
jmp dword [eax*4 + 0x434bc0]
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.00434f10
add esp, 0xc
test eax, eax
je 0x42dd09
jmp 0x42de6d
jmp 0x42de36
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.00434ff0
add esp, 0xc
test eax, eax
je 0x42dd34
jmp 0x42de6d
jmp 0x42de36
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x98]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.00435060
add esp, 0xc
test eax, eax
je 0x42dd5f
jmp 0x42de6d
jmp 0x42de36
mov ecx, dword [ebp - 0x98]
or ecx, dword [ebp - 0x94]
jne 0x42dd77
jmp 0x42e03f
mov edx, dword [ebp - 0x98]
and edx, dword [ebp - 0x94]
cmp edx, 0xffffffff
jne 0x42dda2
cmp dword [ebp - 0xa8], 0
jne 0x42dda2
cmp dword [ebp - 0xa4], 0x80000000
jne 0x42dda2
jmp 0x42de6d
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00495b20
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jmp 0x42de36
mov ecx, dword [ebp - 0x98]
or ecx, dword [ebp - 0x94]
jne 0x42dde4
jmp 0x42e03f
mov edx, dword [ebp - 0x98]
and edx, dword [ebp - 0x94]
cmp edx, 0xffffffff
jne 0x42de09
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00495a60
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xa8]
mov dword [ecx], edx
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
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
jmp 0x42e03a
mov byte [ebp - 0xb1], 0
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00429790
add esp, 4
fstp qword [ebp - 0xa0]
mov edx, dword [ebp - 0x20]
push edx
call fcn.00429790
add esp, 4
fstp qword [ebp - 0xc0]
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x710]
sub edx, 0x2f
mov dword [ebp - 0x710], edx
cmp dword [ebp - 0x710], 3
ja case.default.0x42debb
mov eax, dword [ebp - 0x710]
jmp dword [eax*4 + 0x434bd0]
fld qword [ebp - 0xc0]
fadd qword [ebp - 0xa0]
fstp qword [ebp - 0xc0]
jmp 0x42dfd3
fld qword [ebp - 0xc0]
fsub qword [ebp - 0xa0]
fstp qword [ebp - 0xc0]
jmp 0x42dfd3
fld qword [ebp - 0xc0]
fmul qword [ebp - 0xa0]
fstp qword [ebp - 0xc0]
jmp 0x42dfd3
fld qword [ebp - 0xa0]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x42df1d
jmp 0x42e03f
fld qword [ebp - 0xc0]
fdiv qword [ebp - 0xa0]
fstp qword [ebp - 0xc0]
jmp 0x42dfd3
fld qword [ebp - 0xa0]
call fcn.00495916
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
fld qword [ebp - 0xc0]
call fcn.00495916
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0x98]
or ecx, dword [ebp - 0x94]
jne 0x42df75
jmp 0x42e03f
mov edx, dword [ebp - 0x98]
and edx, dword [ebp - 0x94]
cmp edx, 0xffffffff
jne 0x42df9a
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00495a60
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], edx
fild qword [ebp - 0x718]
fstp qword [ebp - 0xc0]
sub esp, 8
fld qword [ebp - 0xc0]
fstp qword [esp]
call fcn.00411640
add esp, 8
test eax, eax
je 0x42dfed
jmp 0x42e03f
mov ecx, dword [ebp - 0x14]
fld qword [ebp - 0xc0]
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 - 0xb0]
movzx eax, word [ebp - 0xac]
or edx, eax
and edx, 8
jne 0x42e03a
movsx ecx, byte [ebp - 0xb1]
test ecx, ecx
jne 0x42e03a
mov edx, dword [ebp - 0x14]
push edx
call fcn.0042cd90
add esp, 4
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x14]
push eax
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 4], 0
je 0x42e072
push 0
push 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
push eax
call fcn.0042a020
add esp, 0xc
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
lea ecx, [eax*4 + 0x1c]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 4]
push eax
call fcn.0040f140
add esp, 0xc
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x42e0b5
jmp 0x4348c4
mov ecx, dword [ebp - 0xc4]
mov dword [ecx], 0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xc4]
mov al, byte [ebp - 0xc8]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + 1], 0xeb
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x2c]
mov byte [ecx], 0x5a
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x14]
je 0x42e19f
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x14]
mov dword [edx], eax
mov ecx, dword [ebp - 0xcc]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0xd0], edx
jmp 0x42e172
mov eax, dword [ebp - 0xd0]
sub eax, 1
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jl 0x42e19f
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0xd0]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + eax*4 + 0x1c], edx
jmp 0x42e163
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 1
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax + 0x1a]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x40], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x42e28f
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0x14], 0
je 0x42e25e
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
push ecx
call fcn.00429c60
add esp, 4
push eax
push 0x4b49c4
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 0xc
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
add eax, 0xcc
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00428640
add esp, 0x10
cmp dword [ebp - 8], 0
je 0x42e28f
jmp 0x43479f
mov edx, dword [ebp - 0x14]
movzx eax, word [edx + 8]
and eax, 0x12
je 0x42e2cb
movzx ecx, byte [ebp - 0x21]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
push eax
call fcn.00428cf0
add esp, 8
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
push edx
call fcn.0043ead0
add esp, 4
test eax, eax
je 0x42e2cb
jmp 0x4348a7
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x42e323
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x20]
push edx
call fcn.00429820
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.00429820
add esp, 4
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ecx]
mov byte [ebp - 0xe9], dl
movzx eax, byte [ebp - 0xe9]
cmp eax, 0x2b
jne 0x42e393
mov ecx, dword [ebp - 0xd8]
and ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd4]
and edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], edx
jmp 0x42e59a
movzx eax, byte [ebp - 0xe9]
cmp eax, 0x2c
jne 0x42e3c8
mov ecx, dword [ebp - 0xd8]
or ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd4]
or edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], edx
jmp 0x42e59a
mov eax, dword [ebp - 0xe0]
or eax, dword [ebp - 0xdc]
je 0x42e59a
cmp dword [ebp - 0xdc], 0
jg 0x42e467
jl 0x42e3f2
cmp dword [ebp - 0xe0], 0
jae 0x42e467
movzx ecx, byte [ebp - 0xe9]
mov edx, 0x5b
sub edx, ecx
mov byte [ebp - 0xe9], dl
cmp dword [ebp - 0xdc], 0xffffffff
jl 0x42e43b
jg 0x42e41a
cmp dword [ebp - 0xe0], 0xffffffc0
jbe 0x42e43b
mov eax, dword [ebp - 0xe0]
neg eax
mov ecx, dword [ebp - 0xdc]
adc ecx, 0
neg ecx
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], ecx
jmp 0x42e44f
mov dword [ebp - 0x720], 0x40
mov dword [ebp - 0x71c], 0
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jl 0x42e4c9
jg 0x42e47b
cmp dword [ebp - 0xe0], 0x40
jb 0x42e4c9
cmp dword [ebp - 0xd4], 0
jg 0x42e4a7
jl 0x42e48f
cmp dword [ebp - 0xd8], 0
jae 0x42e4a7
movzx ecx, byte [ebp - 0xe9]
cmp ecx, 0x2d
je 0x42e4a7
mov dword [ebp - 0x724], 0xffffffff
jmp 0x42e4b1
mov dword [ebp - 0x724], 0
mov eax, dword [ebp - 0x724]
cdq
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x42e59a
push 8
lea edx, [ebp - 0xd8]
push edx
lea eax, [ebp - 0xe8]
push eax
call fcn.00493210
add esp, 0xc
movzx ecx, byte [ebp - 0xe9]
cmp ecx, 0x2d
jne 0x42e512
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
call fcn.004960f0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
jmp 0x42e582
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
call fcn.00496210
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xd4], 0
jg 0x42e582
jl 0x42e549
cmp dword [ebp - 0xd8], 0
jae 0x42e582
mov ecx, 0x40
sub ecx, dword [ebp - 0xe0]
mov edx, 0
sbb edx, dword [ebp - 0xdc]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004960f0
or eax, dword [ebp - 0xe8]
or edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
push 8
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xd8]
push ecx
call fcn.00493210
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xd4]
mov dword [edx + 4], ecx
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.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0043e750
add esp, 4
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
and edx, 4
jne 0x42e656
movzx eax, byte [ebp - 0x21]
push eax
push 0x43
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00440d60
add esp, 0xc
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 4
jne 0x42e656
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 8], 0
jne 0x42e651
mov dword [ebp - 8], 0x14
jmp 0x43479f
jmp 0x42d042
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0xffff3e00
or eax, 4
mov ecx, dword [ebp - 0x34]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
and edx, 4
je 0x42e698
mov eax, dword [ebp - 0x34]
push eax
call fcn.0043e790
add esp, 4
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
and ecx, 0x4000
je 0x42e6cf
mov edx, dword [ebp - 0x34]
push edx
call fcn.00425700
add esp, 4
mov dword [ebp - 0x728], eax
jmp 0x42e6d9
mov dword [ebp - 0x728], 0
mov eax, dword [ebp - 0x728]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0x21]
push ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 8]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0043e7c0
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x42e706
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
mov cx, word [eax + 8]
mov word [ebp - 0xf8], cx
mov edx, dword [ebp - 0xc]
mov ax, word [edx + 8]
mov word [ebp - 0xfc], ax
movzx ecx, word [ebp - 0xf8]
movzx edx, word [ebp - 0xfc]
or ecx, edx
and ecx, 1
je 0x42e802
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0x80
je 0x42e7ac
movzx edx, word [ebp - 0xf8]
and edx, 1
je 0x42e7a0
movzx eax, word [ebp - 0xfc]
and eax, 1
je 0x42e7a0
movzx ecx, word [ebp - 0xfc]
and ecx, 0x100
jne 0x42e7a0
mov dword [ebp - 0xf4], 0
jmp 0x42e7aa
mov dword [ebp - 0xf4], 1
jmp 0x42e7fd
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x42e7e7
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 1
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp 0x42e7f8
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x42e7f8
jmp 0x42d042
jmp case.0x42cf86.112
jmp 0x42ea06
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 0x47
mov byte [ebp - 0xea], al
movsx ecx, byte [ebp - 0xea]
cmp ecx, 0x43
jl 0x42e93e
movzx edx, word [ebp - 0xf8]
movzx eax, word [ebp - 0xfc]
or edx, eax
and edx, 2
je 0x42e87f
movzx ecx, word [ebp - 0xf8]
and ecx, 0xe
cmp ecx, 2
jne 0x42e862
push 0
mov edx, dword [ebp - 0x34]
push edx
call fcn.0042cce0
add esp, 8
mov eax, dword [ebp - 0xc]
mov cx, word [eax + 8]
mov word [ebp - 0xfc], cx
movzx edx, word [ebp - 0xfc]
and edx, 0xe
cmp edx, 2
jne 0x42e87f
push 0
mov eax, dword [ebp - 0xc]
push eax
call fcn.0042cce0
add esp, 8
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and edx, ecx
and edx, 4
je 0x42e939
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x72c], edx
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x72c]
mov edx, dword [ebp - 0x730]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jl 0x42e8e1
jg 0x42e8d2
mov ecx, dword [ebp - 0x72c]
mov edx, dword [ebp - 0x730]
mov eax, dword [ecx]
cmp eax, dword [edx]
jbe 0x42e8e1
mov dword [ebp - 0xf4], 1
jmp 0x42ea06
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x734], ecx
mov dword [ebp - 0x738], edx
mov eax, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x738]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x42e92a
jl 0x42e91b
mov eax, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x738]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x42e92a
mov dword [ebp - 0xf4], 0xffffffff
jmp 0x42ea06
mov dword [ebp - 0xf4], 0
jmp 0x42ea06
jmp 0x42e9e9
movsx eax, byte [ebp - 0xea]
cmp eax, 0x42
jne 0x42e9e9
movzx ecx, word [ebp - 0xf8]
and ecx, 2
jne 0x42e99b
movzx edx, word [ebp - 0xf8]
and edx, 0xc
je 0x42e99b
push 1
movzx eax, byte [ebp - 0x21]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00429660
add esp, 0xc
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0xffff7e00
movzx ecx, word [ebp - 0xf8]
and ecx, 0x81ff
or eax, ecx
mov word [ebp - 0xf8], ax
movzx edx, word [ebp - 0xfc]
and edx, 2
jne 0x42e9e9
movzx eax, word [ebp - 0xfc]
and eax, 0xc
je 0x42e9e9
push 1
movzx ecx, byte [ebp - 0x21]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00429660
add esp, 0xc
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 0xffff7e00
movzx edx, word [ebp - 0xfc]
and edx, 0x81ff
or ecx, edx
mov word [ebp - 0xfc], cx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0043f6f0
add esp, 0xc
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0x73c]
sub eax, 0x24
mov dword [ebp - 0x73c], eax
cmp dword [ebp - 0x73c], 4
ja case.default.0x42ea30
mov ecx, dword [ebp - 0x73c]
jmp dword [ecx*4 + 0x434be0]
xor edx, edx
cmp dword [ebp - 0xf4], 0
sete dl
mov dword [ebp - 0xf0], edx
jmp 0x42eaa7
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf0], eax
jmp 0x42eaa7
xor ecx, ecx
cmp dword [ebp - 0xf4], 0
setl cl
mov dword [ebp - 0xf0], ecx
jmp 0x42eaa7
xor edx, edx
cmp dword [ebp - 0xf4], 0
setle dl
mov dword [ebp - 0xf0], edx
jmp 0x42eaa7
xor eax, eax
cmp dword [ebp - 0xf4], 0
setg al
mov dword [ebp - 0xf0], eax
jmp 0x42eaa7
xor ecx, ecx
cmp dword [ebp - 0xf4], 0
setge cl
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x34]
mov ax, word [ebp - 0xf8]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0xc]
mov dx, word [ebp - 0xfc]
mov word [ecx + 8], dx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0x20
je 0x42eb47
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x44], ecx
xor edx, edx
cmp dword [ebp - 0xf0], 0
setne dl
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x42eb20
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x25
sete cl
cmp ecx, dword [ebp - 0xf0]
jne 0x42eb20
jmp case.0x42cf86.112
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
mov eax, dword [ebp - 0xf0]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42eb55
cmp dword [ebp - 0xf0], 0
je 0x42eb55
jmp 0x42d042
jmp case.0x42cf86.112
cmp dword [ebp - 0x44], 0
je 0x42eb65
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
add eax, 4
mov dword [ebp - 0x1c], eax
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
and edx, 1
jne 0x42eb8e
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x104], 0
jmp 0x42ebd9
mov edx, dword [ebp - 0x104]
add edx, 1
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0x108]
jge 0x42eca2
cmp dword [ebp - 0x1c], 0
je 0x42ec05
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x740], eax
jmp 0x42ec11
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + eax*4 + 0x14]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x104]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x114]
add edx, dword [ebp - 0x110]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x118]
add eax, dword [ebp - 0x110]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
push eax
call fcn.0043f6f0
add esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x42ec9d
cmp dword [ebp - 0x100], 0
je 0x42ec9b
mov ecx, dword [ebp - 0x44]
neg ecx
mov dword [ebp - 0x44], ecx
jmp 0x42eca2
jmp 0x42ebca
mov dword [ebp - 0x1c], 0
jmp case.0x42cf86.112
cmp dword [ebp - 0x44], 0
jge 0x42ecc8
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
sub eax, 1
imul eax, eax, 0x14
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
jmp 0x42ecf4
cmp dword [ebp - 0x44], 0
jne 0x42ece2
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
sub edx, 1
imul edx, edx, 0x14
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp 0x42ecf4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
sub ecx, 1
imul ecx, ecx, 0x14
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
and edx, 1
je 0x42ed20
mov dword [ebp - 0x120], 2
jmp 0x42ed68
mov eax, dword [ebp - 0x34]
push eax
call fcn.00429820
add esp, 4
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x744], edx
mov ecx, dword [ebp - 0x748]
or ecx, dword [ebp - 0x744]
je 0x42ed52
mov dword [ebp - 0x74c], 1
jmp 0x42ed5c
mov dword [ebp - 0x74c], 0
mov edx, dword [ebp - 0x74c]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 8]
and eax, 1
je 0x42ed8f
mov dword [ebp - 0x124], 2
jmp 0x42edd7
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00429820
add esp, 4
mov dword [ebp - 0x754], eax
mov dword [ebp - 0x750], edx
mov edx, dword [ebp - 0x754]
or edx, dword [ebp - 0x750]
je 0x42edc1
mov dword [ebp - 0x758], 1
jmp 0x42edcb
mov dword [ebp - 0x758], 0
mov eax, dword [ebp - 0x758]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x1c
jne 0x42ee01
mov eax, dword [ebp - 0x120]
imul eax, eax, 3
mov ecx, dword [ebp - 0x124]
movzx edx, byte [eax + ecx + 0x4ab20c]
mov dword [ebp - 0x120], edx
jmp 0x42ee1e
mov eax, dword [ebp - 0x120]
imul eax, eax, 3
mov ecx, dword [ebp - 0x124]
movzx edx, byte [eax + ecx + 0x4ab330]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x120], 2
jne 0x42ee4e
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 0x42ee73
mov eax, dword [ebp - 0x120]
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.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00424de0
add esp, 4
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x42ef05
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x34]
push edx
call fcn.00429820
add esp, 4
mov dword [ebp - 0x760], eax
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x760]
or eax, dword [ebp - 0x75c]
jne 0x42eeec
mov dword [ebp - 0x764], 1
jmp 0x42eef6
mov dword [ebp - 0x764], 0
mov eax, dword [ebp - 0x764]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00424de0
add esp, 4
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x42ef64
mov eax, 4
mov ecx, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x34]
push edx
call fcn.00429820
add esp, 4
not eax
not edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jne 0x42ef81
jmp 0x42d042
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
and ecx, 1
je 0x42efbe
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x128], eax
jmp 0x42f014
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00429790
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42efe1
mov dword [ebp - 0x768], 1
jmp 0x42efeb
mov dword [ebp - 0x768], 0
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x16
jne 0x42f014
xor edx, edx
cmp dword [ebp - 0x128], 0
sete dl
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0
je 0x42f022
jmp 0x42d042
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 1
je 0x42f047
jmp 0x42d042
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
and ecx, 1
jne 0x42f06c
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x13c], edx
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x14c]
push ecx
call fcn.0043ee00
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42f0b6
jmp 0x43479f
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [eax + 0x20]
je 0x42f30f
mov edx, dword [ebp - 0x14c]
movzx eax, byte [edx + 2]
test eax, eax
je 0x42f186
mov ecx, dword [ebp - 0x14c]
movzx edx, byte [ecx]
cmp edx, 3
jne 0x42f16d
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x14]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x198]
mov dword [ecx + 0x48], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x44], ecx
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x50], ecx
jmp 0x42f181
mov edx, dword [ebp - 0x12c]
push edx
call fcn.00424de0
add esp, 4
jmp 0x42f8f8
jmp 0x42f209
mov eax, dword [ebp - 0x194]
push eax
call fcn.00423410
add esp, 4
mov ecx, dword [ebp - 0x14c]
mov dword [ecx + 0x44], eax
lea edx, [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x194]
push eax
call fcn.004373c0
add esp, 8
mov ecx, dword [ebp - 0x14c]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x44]
cmp eax, dword [ebp - 0x198]
ja 0x42f1e2
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x44]
mov dword [ecx + 0x48], eax
jmp 0x42f209
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x44]
cmp eax, dword [edx + 0x60]
jbe 0x42f1fa
jmp 0x4348a7
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x198]
mov dword [ecx + 0x48], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x50]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x42f24a
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x50]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x76c], 1
jmp 0x42f26c
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x50]
push edx
call fcn.00434dd0
add esp, 8
movzx eax, al
mov dword [ebp - 0x76c], eax
movzx ecx, byte [ebp - 0x76c]
mov edx, dword [ebp - 0x14c]
mov dword [edx + 0x4c], ecx
xor eax, eax
mov ecx, dword [ebp - 0x14c]
mov word [ecx + 0x12], ax
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov dword [edx], eax
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [ebp - 0x144]
jae 0x42f2f2
mov edx, dword [ebp - 0x14c]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x48], 0
cmp dword [ebp - 0x144], 0x18003
ja 0x42f2db
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x144]
cmp edx, dword [ecx + 0x44]
jbe 0x42f2f0
push 0x13ba7
call fcn.0048fa10
add esp, 4
mov dword [ebp - 8], eax
jmp 0x43479f
jmp 0x42f30f
cmp dword [ebp - 0x144], 0
jbe 0x42f30f
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x180], ecx
jmp 0x42f3b9
mov edx, dword [ebp - 0x14c]
movzx eax, word [edx + 0x12]
cmp eax, dword [ebp - 0x13c]
jg 0x42f66a
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x140]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [edx]
jae 0x42f60f
mov ecx, dword [ebp - 0x14c]
cmp dword [ecx + 0x50], 0
jne 0x42f3aa
push 0x28
push 0
lea edx, [ebp - 0x178]
push edx
call fcn.00493180
add esp, 0xc
lea eax, [ebp - 0x178]
push eax
mov ecx, dword [ebp - 0x14c]
movzx edx, byte [ecx + 4]
neg edx
sbb edx, edx
add edx, 1
push edx
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax]
push ecx
push 0
mov edx, dword [ebp - 0x194]
push edx
call fcn.0043ebc0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42f39c
jmp 0x43479f
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x180], eax
jmp 0x42f3b9
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x12]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + edx*4]
xor edx, edx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x180]
add ecx, dword [eax + 0x4c]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x180]
add eax, dword [edx]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx]
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0x184], 0x80
jae 0x42f467
mov eax, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x17c], eax
movzx ecx, byte [ebp - 0x184]
push ecx
call fcn.0043f100
add esp, 4
movzx eax, al
cdq
add eax, dword [ebp - 0x190]
adc edx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
jmp 0x42f4b5
lea edx, [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x17c]
push eax
call fcn.00434dd0
add esp, 8
movzx ecx, al
add ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x184]
push edx
call fcn.0043f0d0
add esp, 4
xor ecx, ecx
add eax, dword [ebp - 0x190]
adc ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x184]
mov dword [eax + edx*4 + 0x58], ecx
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
and ecx, 0
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x13c]
jg 0x42f518
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x138]
jb 0x42f40f
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [ebp - 0x138]
jb 0x42f567
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x138]
ja 0x42f59c
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x44]
xor edx, edx
mov dword [ebp - 0x774], ecx
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x774]
jne 0x42f59c
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [ebp - 0x770]
jne 0x42f59c
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x44]
xor ecx, ecx
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], ecx
mov edx, dword [ebp - 0x18c]
cmp edx, dword [ebp - 0x778]
jb 0x42f5cc
ja 0x42f59c
mov eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x77c]
jbe 0x42f5cc
mov ecx, dword [ebp - 0x14c]
cmp dword [ecx + 0x50], 0
jne 0x42f5b7
lea edx, [ebp - 0x178]
push edx
call fcn.00425790
add esp, 4
push 0x13be5
call fcn.0048fa10
add esp, 4
mov dword [ebp - 8], eax
jmp 0x43479f
mov eax, dword [ebp - 0x14c]
mov cx, word [ebp - 0x130]
mov word [eax + 0x12], cx
mov edx, dword [ebp - 0x17c]
sub edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 0x14c]
cmp dword [ecx + 0x50], 0
jne 0x42f60d
lea edx, [ebp - 0x178]
push edx
call fcn.00425790
add esp, 4
jmp 0x42f619
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x12]
cmp ecx, dword [ebp - 0x13c]
jg 0x42f668
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x42f654
push 0x800
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.0043eb20
add esp, 0xc
jmp 0x42f663
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00424de0
add esp, 4
jmp 0x42f8f8
jmp 0x42f680
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + edx*4 + 0x58]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x12c]
movzx eax, word [edx + 8]
and eax, 0x2460
je 0x42f6a0
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00424de0
add esp, 4
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov edx, dword [edx + 0x48]
cmp edx, dword [ecx + eax*4 + 4]
jb 0x42f7f6
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x50]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x140]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x184], 0xc
jae 0x42f708
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x180]
push eax
call fcn.0043f1e0
add esp, 0xc
jmp 0x42f7f1
mov ecx, dword [ebp - 0x184]
sub ecx, 0xc
shr ecx, 1
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x148]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x12c]
mov dl, byte [ebp - 0x21]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x148]
add eax, 2
mov ecx, dword [ebp - 0x12c]
cmp dword [ecx + 0x18], eax
jge 0x42f77d
mov edx, 1
mov eax, dword [ebp - 0x12c]
mov word [eax + 8], dx
push 0
mov ecx, dword [ebp - 0x148]
add ecx, 2
push ecx
mov edx, dword [ebp - 0x12c]
push edx
call fcn.00425450
add esp, 0xc
test eax, eax
je 0x42f77b
jmp 0x4348c4
jmp 0x42f78f
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x180]
push ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx + 0x10]
push eax
call fcn.00493210
add esp, 0xc
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x148]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x148]
mov byte [eax + edx + 1], 0
mov ecx, dword [ebp - 0x184]
and ecx, 1
mov edx, dword [ebp - 0x12c]
mov ax, word [ecx*2 + 0x4ab33c]
mov word [edx + 8], ax
jmp 0x42f8f8
mov ecx, dword [ebp - 0x12c]
mov dl, byte [ebp - 0x21]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0xc0
je 0x42f834
cmp dword [ebp - 0x184], 0xc
jb 0x42f825
mov edx, dword [ebp - 0x184]
and edx, 1
je 0x42f852
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0x80
jne 0x42f852
mov edx, dword [ebp - 0x184]
push edx
call fcn.0043f0d0
add esp, 4
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x42f872
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x184]
push ecx
push 0x4bd004
call fcn.0043f1e0
add esp, 0xc
jmp 0x42f8f8
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 4]
neg ecx
sbb ecx, ecx
add ecx, 1
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x194]
push eax
call fcn.0043ebc0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42f8bf
jmp 0x43479f
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0043f1e0
add esp, 0xc
mov edx, dword [ebp - 0x12c]
movzx eax, word [edx + 8]
and eax, 0xffffefff
mov ecx, dword [ebp - 0x12c]
mov word [ecx + 8], ax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x19c]
mov cl, byte [eax]
mov byte [ebp - 0x19d], cl
movsx edx, byte [ebp - 0x19d]
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
test edx, edx
je 0x42f964
movzx ecx, byte [ebp - 0x21]
push ecx
movzx edx, byte [ebp - 0x19d]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.00440d60
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add ecx, 0x28
mov dword [ebp - 0x34], ecx
jmp 0x42f918
jmp case.0x42cf86.112
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1f8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x8f]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x1cc], 0
je 0x42fa7e
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1cc]
mov cl, byte [eax]
mov byte [ebp - 0x77d], cl
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x784], edx
movzx eax, byte [ebp - 0x21]
push eax
movzx ecx, byte [ebp - 0x77d]
push ecx
mov edx, dword [ebp - 0x784]
push edx
call fcn.00440d60
add esp, 0xc
mov eax, dword [ebp - 0x1d0]
add eax, 0x28
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1cc]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [edx]
test eax, eax
jne 0x42fa1d
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1d0], ecx
lea edx, [ebp - 0x1dc]
push edx
mov eax, dword [ebp - 0x1d4]
push eax
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.0043ef10
add esp, 0xc
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1a4]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x1d0]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x42fb2b
mov eax, dword [ebp - 0x1c8]
or eax, dword [ebp - 0x1c4]
je 0x42faf6
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.00425700
add esp, 4
test eax, eax
je 0x42faf4
jmp 0x4348c4
jmp 0x42fb2b
mov edx, dword [ebp - 0x1d0]
mov eax, dword [edx]
cdq
add eax, dword [ebp - 0x1b0]
adc edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1dc]
sub ecx, dword [eax]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1dc]
xor eax, eax
add edx, dword [ebp - 0x1c8]
adc eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1a4], 0x7f
ja 0x42fb60
mov dword [ebp - 0x788], 1
jmp 0x42fb78
mov ecx, dword [ebp - 0x1a4]
xor edx, edx
push edx
push ecx
call fcn.00434ed0
add esp, 8
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x788]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1d0]
cmp ecx, dword [ebp - 0x1ec]
jne 0x42fb9a
jmp 0x42fbb6
mov edx, dword [ebp - 0x1d0]
sub edx, 0x28
mov dword [ebp - 0x1d0], edx
mov eax, 1
test eax, eax
jne 0x42fa8a
cmp dword [ebp - 0x1bc], 0x7e
jg 0x42fbd0
mov ecx, dword [ebp - 0x1bc]
add ecx, 1
mov dword [ebp - 0x1bc], ecx
jmp 0x42fc21
mov eax, dword [ebp - 0x1bc]
cdq
push edx
push eax
call fcn.00434ed0
add esp, 8
mov dword [ebp - 0x1b8], eax
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
cdq
push edx
push eax
call fcn.00434ed0
add esp, 8
cmp dword [ebp - 0x1b8], eax
jge 0x42fc21
mov eax, dword [ebp - 0x1bc]
add eax, 1
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
cdq
add eax, dword [ebp - 0x1c8]
adc edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], edx
mov ecx, dword [ebp - 0x1e8]
add ecx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1e4]
adc esi, dword [ebp - 0x1ac]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x60]
cdq
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x78c], esi
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x78c]
cmp eax, dword [ebp - 0x794]
jl 0x42fc9a
jg 0x42fc95
mov ecx, dword [ebp - 0x790]
cmp ecx, dword [ebp - 0x798]
jbe 0x42fc9a
jmp 0x4348a7
mov edx, dword [ebp - 0x1e8]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00425400
add esp, 8
test eax, eax
je 0x42fcb6
jmp 0x4348c4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1d8], edx
cmp dword [ebp - 0x1bc], 0x80
jae 0x42fce8
mov eax, dword [ebp - 0x1d8]
mov cl, byte [ebp - 0x1bc]
mov byte [eax], cl
mov dword [ebp - 0x79c], 1
jmp 0x42fd06
mov eax, dword [ebp - 0x1bc]
cdq
push edx
push eax
mov edx, dword [ebp - 0x1d8]
push edx
call fcn.00434c00
add esp, 0xc
mov dword [ebp - 0x79c], eax
movzx eax, byte [ebp - 0x79c]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1a4], ecx
cmp dword [ebp - 0x1a4], 0x80
jae 0x42fd66
mov edx, dword [ebp - 0x1d8]
add edx, dword [ebp - 0x1b4]
mov al, byte [ebp - 0x1a4]
mov byte [edx], al
mov dword [ebp - 0x7a0], 1
jmp 0x42fd8b
mov ecx, dword [ebp - 0x1a4]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x1d8]
add eax, dword [ebp - 0x1b4]
push eax
call fcn.00434c00
add esp, 0xc
mov dword [ebp - 0x7a0], eax
movzx ecx, byte [ebp - 0x7a0]
add ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1a4]
push edx
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [ebp - 0x1d8]
add ecx, dword [ebp - 0x1f4]
push ecx
call fcn.0043f110
add esp, 0xc
add eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x1d0]
add edx, 0x28
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, dword [ebp - 0x1f0]
jbe 0x42fd2b
mov ecx, dword [ebp - 0x1e8]
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 - 0x1b0]
or edx, dword [ebp - 0x1ac]
je 0x42fe32
mov eax, dword [ebp - 0x1b0]
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
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xa], 1
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x204]
push ecx
call fcn.0043d2f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42fe8e
jmp 0x43479f
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x200]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1fc]
mov dword [ecx + 4], eax
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x214], 0
jne 0x430037
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa4], 0
jle 0x42ff08
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 5
jmp 0x430032
mov ecx, dword [ebp - 0x208]
push ecx
call fcn.00411680
add esp, 4
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b4]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1b0]
push eax
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.004502d0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42ff4c
jmp 0x43479f
mov eax, dword [ebp - 0x224]
add eax, 0x21
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 4]
push edx
call fcn.0040f140
add esp, 0xc
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x430032
mov eax, dword [ebp - 0x220]
add eax, 0x20
mov ecx, dword [ebp - 0x220]
mov dword [ecx], eax
mov edx, dword [ebp - 0x224]
add edx, 1
push edx
mov eax, dword [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx]
push edx
call fcn.00493210
add esp, 0xc
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x43]
test ecx, ecx
je 0x42ffc6
mov edx, dword [ebp - 4]
mov byte [edx + 0x43], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b], 1
jmp 0x42ffdb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b0]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b0], edx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1a8]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x220]
mov dword [ecx + 0x1a8], edx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0x1bc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c0]
mov dword [edx + 0x10], ecx
mov eax, dword [eax + 0x1c4]
mov dword [edx + 0x14], eax
jmp 0x430414
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1a8]
mov dword [ebp - 0x21c], edx
jmp 0x430061
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x21c], 0
je 0x430097
mov edx, dword [ebp - 0x208]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
push ecx
call fcn.004116e0
add esp, 8
test eax, eax
je 0x430097
mov edx, dword [ebp - 0x218]
add edx, 1
mov dword [ebp - 0x218], edx
jmp 0x430052
cmp dword [ebp - 0x21c], 0
jne 0x4300c4
mov eax, dword [ebp - 0x208]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428540
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x430414
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa4], 0
jle 0x4300f6
cmp dword [ebp - 0x214], 1
jne 0x4300f6
push str.cannot_release_savepoint___SQL_statements_in_progress
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 5
jmp 0x430414
mov ecx, dword [ebp - 0x21c]
cmp dword [ecx + 0x18], 0
jne 0x430119
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x4b]
test eax, eax
je 0x430119
mov dword [ebp - 0x7a4], 1
jmp 0x430123
mov dword [ebp - 0x7a4], 0
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0
je 0x4301be
cmp dword [ebp - 0x214], 1
jne 0x4301be
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004284a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x430161
jmp 0x43486f
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.00425ff0
add esp, 4
cmp eax, 5
jne 0x4301a9
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], 0
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x28], edx
jmp 0x43486f
mov eax, dword [ebp - 4]
mov byte [eax + 0x4b], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 8], edx
jmp 0x4302fa
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
sub ecx, dword [ebp - 0x218]
sub ecx, 1
mov dword [ebp - 0x218], ecx
cmp dword [ebp - 0x214], 2
jne 0x43025d
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 2
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x210], 0
jmp 0x43020f
mov ecx, dword [ebp - 0x210]
add ecx, 1
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
cmp eax, dword [edx + 0x14]
jge 0x43025b
xor ecx, ecx
cmp dword [ebp - 0x22c], 0
sete cl
push ecx
push 0x204
mov edx, dword [ebp - 0x210]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00424b90
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x430259
jmp 0x43479f
jmp 0x430200
jmp 0x430267
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x210], 0
jmp 0x430282
mov eax, dword [ebp - 0x210]
add eax, 1
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x210]
cmp edx, dword [ecx + 0x14]
jge 0x4302ca
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x210]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004283e0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4302c8
jmp 0x43479f
jmp 0x430273
cmp dword [ebp - 0x22c], 0
je 0x4302fa
mov eax, dword [ebp - 4]
push eax
call fcn.00440b60
add esp, 4
mov ecx, dword [ebp - 4]
push ecx
call fcn.004487a0
add esp, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
or eax, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1a8]
cmp eax, dword [ebp - 0x21c]
je 0x430356
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1a8]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040eda0
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b0]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b0], eax
jmp 0x4302fa
cmp dword [ebp - 0x214], 1
jne 0x4303a4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1a8], ecx
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0040eda0
add esp, 8
cmp dword [ebp - 0x228], 0
jne 0x4303a2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b0]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b0], edx
jmp 0x4303da
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 8]
mov dword [ecx + 0x1b8], eax
mov edx, dword [edx + 0xc]
mov dword [ecx + 0x1bc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1c0], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x1c4], ecx
cmp dword [ebp - 0x228], 0
je 0x4303ec
cmp dword [ebp - 0x214], 2
jne 0x430414
mov edx, dword [ebp - 0x218]
push edx
mov eax, dword [ebp - 0x214]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004502d0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x430414
jmp 0x43479f
cmp dword [ebp - 8], 0
je 0x43041f
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x43]
cmp dword [ebp - 0x234], ecx
je 0x430547
cmp dword [ebp - 0x230], 0
je 0x430472
push 0x204
mov edx, dword [ebp - 4]
push edx
call fcn.0048d5c0
add esp, 8
mov eax, dword [ebp - 4]
mov byte [eax + 0x43], 1
jmp 0x4304d0
cmp dword [ebp - 0x234], 0
je 0x4304a6
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 0
jle 0x4304a6
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 5
jmp 0x43479f
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004284a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4304c4
jmp 0x43486f
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x234]
mov byte [ecx + 0x43], dl
mov eax, dword [ebp + 8]
push eax
call fcn.00425ff0
add esp, 4
cmp eax, 5
jne 0x43051b
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov eax, 1
sub eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x43], al
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
jmp 0x43486f
mov ecx, dword [ebp - 4]
push ecx
call fcn.0048ce90
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x28], 0
jne 0x430539
mov dword [ebp - 8], 0x65
jmp 0x430540
mov dword [ebp - 8], 1
jmp 0x43486f
cmp dword [ebp - 0x234], 0
jne 0x43055c
mov dword [ebp - 0x7a8], str.cannot_start_a_transaction_within_a_transaction
jmp 0x430587
cmp dword [ebp - 0x230], 0
je 0x430571
mov dword [ebp - 0x7ac], str.cannot_rollback___no_transaction_is_active
jmp 0x43057b
mov dword [ebp - 0x7ac], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a8], eax
mov ecx, dword [ebp - 0x7a8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 1
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 8], 0
je 0x4305ce
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
and edx, 0x4000000
je 0x4305ce
mov dword [ebp - 8], 8
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
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 - 0x238], ecx
cmp dword [ebp - 0x238], 0
je 0x43075b
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.00420160
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x430648
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 5
jne 0x430643
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
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 0x43486f
jmp 0x43479f
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 8], 0
je 0x430725
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
shr ecx, 6
and ecx, 1
je 0x430725
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x43]
test eax, eax
je 0x430685
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], 1
jle 0x430725
mov edx, dword [ebp + 8]
cmp dword [edx + 0x30], 0
jne 0x4306bb
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b4]
add ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b4], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1b0]
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
sub edx, 1
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.004502d0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4306f5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x238]
push eax
call fcn.00436f90
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1b8]
mov dword [ecx + 0x48], eax
mov edx, dword [edx + 0x1bc]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c0]
mov dword [eax + 0x50], edx
mov ecx, dword [ecx + 0x1c4]
mov dword [eax + 0x54], ecx
lea edx, [ebp - 0x23c]
push edx
push 1
mov eax, dword [ebp - 0x238]
push eax
call fcn.00424300
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
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 - 0x240], eax
jmp 0x430771
mov dword [ebp - 0x23c], 0
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
test eax, eax
je 0x430812
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ecx + 0xc]
jne 0x43079c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x240]
cmp ecx, dword [eax + 0x10]
je 0x430812
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040eda0
add esp, 8
push 0x4b4b0c
mov edx, dword [ebp - 4]
push edx
call fcn.0042a5c0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp - 0x2c]
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 - 0x23c]
je 0x4307f6
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00448750
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov dword [ebp - 8], 0x11
cmp dword [ebp - 8], 0
je 0x43081d
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x24c]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00424300
add esp, 0xc
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x244]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x250], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 4]
push ecx
call fcn.00424380
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 8], 1
jne 0x4308ee
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
or edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], edx
jmp 0x430909
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 8], 2
jne 0x430909
mov edx, dword [ebp - 0x250]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ecx + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 4], 1
jne 0x430933
mov ecx, dword [ebp - 4]
push ecx
call fcn.00440b60
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
and eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
cmp dword [ebp - 8], 0
je 0x43093e
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
je case.0x42cf86.104
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0xc]
cmp eax, dword [edx + 8]
jne case.0x42cf86.104
jmp 0x430b78
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
and edx, 1
je 0x430991
mov dword [ebp - 8], 0x204
jmp 0x43479f
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x69
jne 0x430a31
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
and edx, 8
or edx, 4
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x8f]
cmp edx, ecx
jge 0x430a2f
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x4c]
mov byte [ecx + 0x8f], dl
jmp 0x430a3b
mov dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x430a6d
mov edx, dword [ebp - 0x258]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.0043e750
add esp, 4
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x430aa3
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
movzx edx, word [ecx + 6]
mov eax, dword [ebp - 0x260]
movzx ecx, word [eax + 8]
add edx, ecx
mov dword [ebp - 0x270], edx
jmp 0x430abb
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff2
jne 0x430abb
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x270], edx
push 0
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x270]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440c00
add esp, 0x14
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
jne 0x430af2
jmp 0x4348c4
mov edx, dword [ebp - 0x25c]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 8]
or ecx, 4
mov edx, dword [ebp - 0x25c]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x258]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x260]
push ecx
mov edx, dword [ebp - 0x264]
push edx
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0x254]
push ecx
call fcn.00436fe0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x260]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x2c]
movsx edx, byte [ecx + 1]
xor eax, eax
cmp edx, 0xfffffffa
setne al
mov ecx, dword [ebp - 0x25c]
mov byte [ecx + 4], al
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 3
push eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.00435c00
add esp, 8
cmp dword [ebp - 8], 0
je 0x430ba0
jmp 0x43479f
jmp case.0x42cf86.112
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440c00
add esp, 0x14
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x430bd7
jmp 0x4348c4
mov edx, dword [ebp - 0x274]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 8]
or ecx, 1
mov edx, dword [ebp - 0x274]
mov dword [edx + 8], ecx
mov eax, dword [0x4ab340]
push eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
or edx, 5
push edx
mov eax, dword [ebp - 0x274]
add eax, 0x18
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
push eax
call fcn.00435c10
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x430c45
push 1
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00420160
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x430d0a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x278], ecx
cmp dword [ebp - 0x278], 0
je 0x430cdb
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
or eax, 2
push eax
lea ecx, [ebp - 0x27c]
push ecx
mov edx, dword [ebp - 0x274]
mov eax, dword [edx + 0x18]
push eax
call fcn.0043cae0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x430ccf
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x278]
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x278]
push edx
push 4
mov eax, dword [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00436fe0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x274]
mov byte [eax + 4], 0
jmp 0x430d0a
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 0x14]
push edx
push 0
push 4
push 1
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.00436fe0
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x274]
mov byte [edx + 4], 1
cmp dword [ebp - 8], 0
je 0x430d15
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
xor edx, edx
cmp ecx, 8
setne dl
and edx, 1
shl edx, 2
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 8]
and ecx, 0xfffffffb
or ecx, edx
mov edx, dword [ebp - 0x274]
mov dword [edx + 8], ecx
jmp case.0x42cf86.112
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440c00
add esp, 0x14
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0
jne 0x430d78
jmp 0x4348c4
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 0x280]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004427b0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x430daf
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov edx, dword [ebp - 0x284]
mov esi, dword [edx + 0x28]
add esi, 1
mov edx, dword [edx + 0x2c]
adc edx, 0
mov edi, dword [ebp - 0x284]
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], edx
mov dword [ebp - 0x7b4], eax
mov dword [ebp - 0x7b0], ecx
mov eax, dword [ebp - 0x7b4]
or eax, dword [ebp - 0x7b0]
jne 0x430e12
jmp 0x42d042
jmp case.0x42cf86.112
push 3
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440c00
add esp, 0x14
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jne 0x430e49
jmp 0x4348c4
mov eax, dword [ebp - 0x288]
mov byte [eax + 2], 1
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0x288]
mov byte [ecx + 4], 1
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00426790
add esp, 8
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [edx + eax*4], 0
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2a0], 0
mov ecx, dword [ebp - 0x29c]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x29c]
movzx eax, byte [edx + 4]
test eax, eax
je 0x431002
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 0xe
cmp ecx, 2
jne 0x430f18
push 0
mov edx, dword [ebp - 0xc]
push edx
call fcn.0042cce0
add esp, 8
mov eax, dword [ebp - 0xc]
push eax
call fcn.00429820
add esp, 4
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edx
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 4
jne 0x430fac
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 8
jne 0x430f52
jmp 0x42d042
fild qword [ebp - 0x298]
mov edx, dword [ebp - 0xc]
fcomp qword [edx]
fnstsw ax
test ah, 0x41
jne 0x430f80
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x430f7e
mov ecx, dword [ebp - 0x2b4]
sub ecx, 1
mov dword [ebp - 0x2b4], ecx
jmp 0x430fac
fild qword [ebp - 0x298]
mov edx, dword [ebp - 0xc]
fcomp qword [edx]
fnstsw ax
test ah, 5
jp 0x430fac
mov eax, dword [ebp - 0x2b4]
and eax, 1
je 0x430fac
mov ecx, dword [ebp - 0x2b4]
add ecx, 1
mov dword [ebp - 0x2b4], ecx
lea edx, [ebp - 0x28c]
push edx
push 0
mov eax, dword [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x298]
push ecx
push 0
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x14]
push eax
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x298]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x294]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 8], 0
je 0x430ffd
jmp 0x43479f
jmp 0x4310cf
push 2
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.0043e730
add esp, 8
test eax, eax
je 0x431024
mov dword [ebp - 0x2a0], 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2b8], ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x2b0], eax
mov cx, word [ebp - 0x2b8]
mov word [ebp - 0x2a8], cx
mov edx, dword [ebp - 0x2b4]
sub edx, 0x17
and edx, 1
neg edx
sbb edx, edx
and edx, 0xfffffffe
add edx, 1
mov byte [ebp - 0x2a6], dl
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x2ac], ecx
mov byte [ebp - 0x2a2], 0
lea edx, [ebp - 0x28c]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4310b6
jmp 0x43479f
cmp dword [ebp - 0x2a0], 0
je 0x4310cf
movzx eax, byte [ebp - 0x2a2]
test eax, eax
jne 0x4310cf
jmp 0x4311af
mov ecx, dword [ebp - 0x29c]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x40], 0
cmp dword [ebp - 0x2b4], 0x19
jl 0x431149
cmp dword [ebp - 0x28c], 0
jl 0x43110a
cmp dword [ebp - 0x28c], 0
jne 0x43113d
cmp dword [ebp - 0x2b4], 0x1a
jne 0x43113d
mov dword [ebp - 0x28c], 0
lea eax, [ebp - 0x28c]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.00437f60
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43113b
jmp 0x43479f
jmp 0x431147
mov dword [ebp - 0x28c], 0
jmp 0x4311af
cmp dword [ebp - 0x28c], 0
jg 0x431164
cmp dword [ebp - 0x28c], 0
jne 0x431197
cmp dword [ebp - 0x2b4], 0x17
jne 0x431197
mov dword [ebp - 0x28c], 0
lea eax, [ebp - 0x28c]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.00438280
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x431195
jmp 0x43479f
jmp 0x4311af
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00437f40
add esp, 4
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
je 0x4311bf
jmp 0x42d042
cmp dword [ebp - 0x2a0], 0
je 0x4311d1
mov edx, dword [ebp - 0x2c]
add edx, 0x14
mov dword [ebp - 0x2c], edx
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2cc], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x2c8], 0
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0x10], 0
jle 0x431244
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x2c]
mov dx, word [ecx + 0x10]
mov word [ebp - 0x39c], dx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3a0], eax
lea ecx, [ebp - 0x3a4]
mov dword [ebp - 0x394], ecx
jmp 0x4312d1
lea edx, [ebp - 0x2c8]
push edx
push 0xb7
lea eax, [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 0x1c]
push edx
call fcn.0043f4f0
add esp, 0x10
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 0
jne 0x43127d
jmp 0x4348c4
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 8]
and ecx, 0x4000
je 0x4312a0
mov edx, dword [ebp - 0xc]
push edx
call fcn.00425700
add esp, 4
mov dword [ebp - 0x7b8], eax
jmp 0x4312aa
mov dword [ebp - 0x7b8], 0
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x1c]
push eax
call fcn.0043f5a0
add esp, 0x10
mov ecx, dword [ebp - 0x394]
mov byte [ecx + 0xa], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x1d
jne 0x431347
mov dword [ebp - 0x2d0], 0
jmp 0x43130b
mov ecx, dword [ebp - 0x2d0]
add ecx, 1
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x394]
movzx eax, word [edx + 8]
cmp dword [ebp - 0x2d0], eax
jge 0x431347
mov ecx, dword [ebp - 0x2d0]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x394]
mov eax, dword [edx + 4]
movzx ecx, word [eax + ecx + 8]
and ecx, 1
je 0x431345
mov dword [ebp - 0x2c4], 1
jmp 0x431347
jmp 0x4312fc
lea edx, [ebp - 0x2c0]
push edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 0x14]
push edx
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040eda0
add esp, 8
cmp dword [ebp - 8], 0
je 0x43138e
jmp 0x43479f
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2c0]
mov dword [edx + 0x20], eax
xor ecx, ecx
cmp dword [ebp - 0x2c0], 0
sete cl
mov dword [ebp - 0x2bc], ecx
mov edx, 1
sub edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2cc]
mov byte [eax + 2], dl
mov ecx, dword [ebp - 0x2cc]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x2cc]
mov dword [edx + 0x40], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x1f
jne 0x4313f5
cmp dword [ebp - 0x2bc], 0
je 0x4313f3
jmp 0x42d042
jmp 0x43140c
cmp dword [ebp - 0x2c4], 0
jne 0x431407
cmp dword [ebp - 0x2bc], 0
jne 0x43140c
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx + 8]
and edx, 4
jne case.0x42cf86.33
movzx eax, byte [ebp - 0x21]
push eax
push 0x43
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00440d60
add esp, 0xc
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 8]
and eax, 4
jne case.0x42cf86.33
jmp 0x42d042
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b4]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3a8], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
mov dword [ebp - 0x3b0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3ac], eax
lea ecx, [ebp - 0x3a8]
push ecx
push 0
mov edx, dword [ebp - 0x3ac]
push edx
mov eax, dword [ebp - 0x3b0]
push eax
push 0
mov ecx, dword [ebp - 0x3b8]
push ecx
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3b0]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x3ac]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0x3b4]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x3b4]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 0x3b4]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3a8]
mov dword [edx + 0x20], eax
cmp dword [ebp - 0x3a8], 0
je 0x43153d
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 8], 0
jne 0x431538
push 0x14224
call fcn.0048fa10
add esp, 4
mov dword [ebp - 8], eax
jmp 0x43153d
jmp 0x42d042
cmp dword [ebp - 8], 0
je 0x431548
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov edx, dword [edx + 0x2c]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x28]
add edx, 1
mov eax, dword [ecx + 0x2c]
adc eax, 0
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x70]
mov ecx, dword [esi + ecx*4]
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x2c], eax
jmp case.0x42cf86.112
mov dword [ebp - 0x3d0], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c4], 0
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [eax + 8]
shr ecx, 1
and ecx, 1
jne 0x4316bc
lea edx, [ebp - 0x3c4]
push edx
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00437890
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x431633
jmp 0x43479f
cmp dword [ebp - 0x3c4], 0
je 0x431652
mov dword [ebp - 0x3d0], 1
mov dword [ebp - 0x3cc], 0
jmp 0x4316bc
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx + 0x14]
push eax
call fcn.00423350
add esp, 4
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
cmp dword [ebp - 0x3cc], 0x7fffffff
jl 0x43169e
jg 0x431687
cmp dword [ebp - 0x3d0], 0xffffffff
jb 0x43169e
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [ecx + 8]
or edx, 2
mov eax, dword [ebp - 0x3d8]
mov dword [eax + 8], edx
jmp 0x4316bc
mov ecx, dword [ebp - 0x3d0]
add ecx, 1
mov edx, dword [ebp - 0x3cc]
adc edx, 0
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0xc], 0
je 0x4317ef
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb8], 0
je 0x43171d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x3bc], eax
jmp 0x4316f5
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3bc]
cmp dword [eax + 4], 0
je 0x431703
jmp 0x4316e6
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x3bc]
add edx, dword [eax + 0x10]
mov dword [ebp - 0x3c0], edx
jmp 0x43172f
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3c0]
push eax
call fcn.0043e750
add esp, 4
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7bc]
cmp dword [edx], 0xffffffff
jne 0x431764
mov eax, dword [ebp - 0x7bc]
cmp dword [eax + 4], 0x7fffffff
je 0x431774
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [ecx + 8]
shr edx, 1
and edx, 1
je 0x431780
mov dword [ebp - 8], 0xd
jmp 0x43479f
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x7c4], ecx
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x3cc]
cmp eax, dword [ebp - 0x7c0]
jg 0x4317d8
jl 0x4317bb
mov ecx, dword [ebp - 0x3d0]
cmp ecx, dword [ebp - 0x7c4]
jae 0x4317d8
mov edx, dword [ebp - 0x3c0]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3d0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3cc]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx + 8]
shr eax, 1
and eax, 1
je 0x4318d2
mov dword [ebp - 0x3d4], 0
lea ecx, [ebp - 0x3d0]
push ecx
push 8
call fcn.00411420
add esp, 8
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x3cc]
and eax, 0x3fffffff
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x3d0]
add ecx, 1
mov edx, dword [ebp - 0x3cc]
adc edx, 0
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], edx
lea eax, [ebp - 0x3c4]
push eax
push 0
mov ecx, dword [ebp - 0x3cc]
push ecx
mov edx, dword [ebp - 0x3d0]
push edx
push 0
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4318b2
cmp dword [ebp - 0x3c4], 0
jne 0x4318b2
mov edx, dword [ebp - 0x3d4]
add edx, 1
mov dword [ebp - 0x3d4], edx
cmp dword [ebp - 0x3d4], 0x64
jl 0x43180d
cmp dword [ebp - 8], 0
je 0x4318bd
jmp 0x43479f
cmp dword [ebp - 0x3c4], 0
jne 0x4318d2
mov dword [ebp - 8], 0xd
jmp 0x43479f
mov eax, dword [ebp - 0x3d8]
mov byte [eax + 3], 0
mov ecx, dword [ebp - 0x3d8]
mov dword [ecx + 0x40], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3d0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3cc]
mov dword [edx + 4], ecx
jmp case.0x42cf86.112
mov dword [ebp - 0x418], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x73
jne 0x431969
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3f4], eax
jmp 0x43197c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], edx
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 1]
cmp eax, 0xffffffec
jne 0x4319d8
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xdc], 0
je 0x4319d8
mov edx, dword [ebp - 0x40c]
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 - 0x404], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 4
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
mov dword [ebp - 0x418], ecx
jmp 0x4319ec
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 1
je 0x431a07
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 - 0x2c]
movzx edx, byte [ecx + 3]
and edx, 2
je 0x431a34
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0x3dc]
movzx eax, word [edx + 8]
and eax, 1
je 0x431a59
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3ec], 0
jmp 0x431a77
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x431a94
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x7c8], edx
jmp 0x431a9e
mov dword [ebp - 0x7c8], 0
mov eax, dword [ebp - 0x7c8]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x3dc]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x431acc
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [eax]
mov dword [ebp - 0x3e8], ecx
jmp 0x431ad6
mov dword [ebp - 0x3e8], 0
mov dword [ebp - 0x400], 0
mov edx, dword [ebp - 0x410]
push edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 8
neg ecx
sbb ecx, ecx
neg ecx
push ecx
lea edx, [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x40c]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00438500
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40c]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x40c]
mov dword [eax + 0x40], 0
cmp dword [ebp - 8], 0
je 0x431b36
jmp 0x43479f
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xdc], 0
je 0x431b88
cmp dword [ebp - 0x418], 0
je 0x431b88
mov edx, dword [ebp - 0x3f4]
push edx
mov eax, dword [ebp - 0x3f8]
push eax
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x418]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xdc]
call edx
add esp, 0x18
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x2c]
movsx edx, byte [ecx + 1]
cmp edx, 0xffffffec
jne 0x431c28
mov eax, dword [ebp - 4]
cmp dword [eax + 0xdc], 0
je 0x431c28
mov ecx, dword [ebp - 0x424]
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 - 0x41c], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
and eax, 2
je 0x431c26
mov ecx, dword [ebp - 0x424]
movzx edx, byte [ecx + 4]
test edx, edx
je 0x431c26
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00423350
add esp, 4
mov ecx, dword [ebp - 0x424]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
jmp 0x431c3c
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x420], 0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
push eax
mov ecx, dword [ebp - 0x424]
mov edx, dword [ecx + 0x14]
push edx
call fcn.0043c730
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x424]
mov dword [eax + 0x40], 0
cmp dword [ebp - 8], 0
je 0x431c71
jmp 0x43479f
mov ecx, dword [ebp - 0x428]
and ecx, 1
je 0x431cde
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0xdc], 0
je 0x431cde
mov eax, dword [ebp - 0x420]
movzx ecx, byte [eax + 0x2a]
and ecx, 0x20
jne 0x431cde
mov edx, dword [ebp - 0x424]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [edx + 0x30]
push ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
push 9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xdc]
call edx
add esp, 0x18
jmp case.0x42cf86.112
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00428760
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x42c], 0
lea ecx, [ebp - 0x42c]
push ecx
mov edx, dword [ebp - 0x434]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.00445cd0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x431d6e
jmp 0x43479f
cmp dword [ebp - 0x42c], 0
je 0x431d7c
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x438]
push ecx
call fcn.00445bd0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x431dc6
jmp 0x43479f
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [eax + 0x40], 0
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x2c]
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]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x444]
push ecx
call fcn.00423410
add esp, 4
mov dword [ebp - 0x43c], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x43c]
cmp eax, dword [edx + 0x60]
jbe 0x431e3c
jmp 0x4348a7
cmp dword [ebp - 0x43c], 0x20
jbe 0x431e53
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x7cc], ecx
jmp 0x431e5d
mov dword [ebp - 0x7cc], 0x20
mov edx, dword [ebp - 0x7cc]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00425400
add esp, 8
test eax, eax
je 0x431e79
jmp 0x4348c4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x43c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 0x10
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x440]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x431ece
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
push 0
mov edx, dword [ebp - 0x444]
push edx
call fcn.00423430
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x431ef0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x43c]
push edx
push 0
mov eax, dword [ebp - 0x444]
push eax
call fcn.004371a0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x431efb
jmp 0x43479f
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xa], 1
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x431f53
mov edx, 1
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x45c]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x431f7e
mov eax, dword [ebp - 0x45c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x450], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x44c], edx
jmp 0x432047
mov eax, dword [ebp - 0x45c]
movzx ecx, byte [eax]
cmp ecx, 2
jne 0x431fed
mov edx, dword [ebp - 0x45c]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
mov eax, dword [edx]
mov dword [ebp - 0x454], eax
lea ecx, [ebp - 0x450]
push ecx
mov edx, dword [ebp - 0x45c]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x454]
mov edx, dword [ecx + 0x30]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x458]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
je 0x431feb
jmp 0x43479f
jmp 0x432047
mov edx, dword [ebp - 0x45c]
push edx
call fcn.0043ed00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43200a
jmp 0x43479f
mov eax, dword [ebp - 0x45c]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x432029
mov edx, 1
mov eax, dword [ebp - 0x14]
mov word [eax + 8], dx
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x45c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.00423350
add esp, 4
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x450]
mov dword [eax], ecx
mov edx, dword [ebp - 0x44c]
mov dword [eax + 4], edx
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x460]
mov byte [edx + 2], 1
mov eax, dword [ebp - 0x460]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 0x460]
movzx edx, byte [ecx]
test edx, edx
jne 0x4320ab
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00424ca0
add esp, 4
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x468]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x464], 0
lea eax, [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x46c]
push ecx
call fcn.00437890
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x468]
mov al, byte [ebp - 0x464]
mov byte [edx + 2], al
mov ecx, dword [ebp - 0x468]
mov byte [ecx + 3], 0
mov edx, dword [ebp - 0x468]
mov dword [edx + 0x40], 0
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x20], edx
cmp dword [ebp - 8], 0
je 0x432137
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 8], 0
jle 0x43214e
cmp dword [ebp - 0x464], 0
je 0x43214e
jmp 0x42d042
jmp case.0x42cf86.112
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa4]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4], edx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0x470], 1
mov eax, dword [ebp - 0x474]
movzx ecx, byte [eax]
cmp ecx, 1
jne 0x4321b0
lea edx, [ebp - 0x470]
push edx
mov eax, dword [ebp - 0x474]
push eax
call fcn.00444190
add esp, 8
mov dword [ebp - 8], eax
jmp 0x4321ef
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x478], edx
lea eax, [ebp - 0x470]
push eax
mov ecx, dword [ebp - 0x478]
push ecx
call fcn.00437430
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x474]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x474]
mov dword [eax + 0x40], 0
cmp dword [ebp - 8], 0
je 0x4321fa
jmp 0x43479f
mov ecx, dword [ebp - 0x474]
mov dl, byte [ebp - 0x470]
mov byte [ecx + 2], dl
cmp dword [ebp - 0x470], 0
je 0x432217
jmp 0x42d042
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], 0
lea edx, [ebp - 0x47c]
push edx
mov eax, dword [ebp - 0x480]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00445b10
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x4322b1
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
cmp dword [edx + eax*4], 0
jne case.0x42cf86.6
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x47c], eax
lea ecx, [ebp - 0x47c]
push ecx
mov edx, dword [ebp - 0x480]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x480]
mov dword [eax + 0x40], 0
cmp dword [ebp - 8], 0
je 0x4322c9
jmp 0x43479f
cmp dword [ebp - 0x47c], 0
jne 0x432308
mov ecx, dword [ebp - 0x480]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax*4 + 0x9c]
add edx, 1
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
mov eax, dword [ebp + 8]
mov dword [eax + ecx*4 + 0x9c], edx
jmp case.0x42cf86.13
mov ecx, dword [ebp - 0x480]
mov byte [ecx + 2], 1
jmp 0x42cf9f
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
and ecx, 1
je 0x432356
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x432378
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00425700
add esp, 4
mov dword [ebp - 0x7d0], eax
jmp 0x432382
mov dword [ebp - 0x7d0], 0
mov edx, dword [ebp - 0x7d0]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x432396
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x7d
jne 0x4323b9
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
call fcn.00442f40
add esp, 8
mov dword [ebp - 8], eax
jmp 0x432436
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x4323f5
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x7d4], ecx
jmp 0x4323ff
mov dword [ebp - 0x7d4], 0
mov edx, dword [ebp - 0x7d4]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
push ecx
lea edx, [ebp - 0x4a0]
push edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00438500
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x4a4]
mov dword [edx + 0x40], 0
cmp dword [ebp - 8], 0
je 0x432441
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4ac]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x2c]
mov cx, word [eax + 0xc]
mov word [ebp - 0x4b4], cx
mov byte [ebp - 0x4b2], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x4b8], eax
lea ecx, [ebp - 0x4a8]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x4bc]
push edx
mov eax, dword [ebp - 0x4c0]
push eax
call fcn.004379e0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4324d1
jmp 0x43479f
cmp dword [ebp - 0x4a8], 0
jne 0x4324f9
push 4
mov ecx, dword [ebp - 0x4c0]
push ecx
call fcn.0043c730
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4324f9
jmp 0x43479f
mov edx, dword [ebp - 0x4ac]
mov dword [edx + 0x40], 0
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x4d0]
push edx
call fcn.0043ed00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43253d
jmp 0x43479f
mov eax, dword [ebp - 0x4d0]
movzx ecx, byte [eax + 2]
test ecx, ecx
jne 0x432632
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 0
lea edx, [ebp - 0x4c8]
push edx
mov eax, dword [ebp - 0x4d0]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00440910
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43258e
jmp 0x43479f
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x80
jne 0x4325fd
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x4cc]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ebp - 0x4c8]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x4c4]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0x4cc]
mov byte [edx + 3], 1
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [ebp - 0x4d0]
mov dword [eax + 0x38], ecx
jmp 0x432630
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4c4]
mov dword [ecx + 4], eax
mov ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
jmp 0x432647
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
push ecx
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x2c]
mov cx, word [eax + 0x10]
mov word [ebp - 0x4e0], cx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x3c
jge 0x432692
mov byte [ebp - 0x4de], 0xff
jmp 0x432699
mov byte [ebp - 0x4de], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x4e4], edx
mov dword [ebp - 0x4d4], 0
lea eax, [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x4e8]
push ecx
mov edx, dword [ebp - 0x4d8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00440a90
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
and edx, 1
jne 0x4326f4
mov eax, dword [ebp - 0x4d4]
neg eax
mov dword [ebp - 0x4d4], eax
jmp 0x432703
mov ecx, dword [ebp - 0x4d4]
add ecx, 1
mov dword [ebp - 0x4d4], ecx
cmp dword [ebp - 8], 0
je 0x43270e
jmp 0x43479f
cmp dword [ebp - 0x4d4], 0
jle 0x43271c
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, 1
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xac]
add ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa0], ecx
jle 0x432772
mov dword [ebp - 8], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x8e], 2
jmp 0x43479f
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], 0
lea eax, [ebp - 0x4ec]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x4f0]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0043d080
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, 4
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x4ec]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
je 0x4327db
jmp 0x43479f
cmp dword [ebp - 0x4ec], 0
je 0x432811
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x4ec]
push ecx
mov edx, dword [ebp - 0x4f0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00448b60
add esp, 0x10
mov ecx, dword [ebp - 0x4f0]
add ecx, 1
mov byte [ebp - 0x22], cl
jmp case.0x42cf86.112
mov dword [ebp - 0x4f4], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x4f4]
and eax, ecx
push eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x2c]
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.0043cdf0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0xc], 0
je 0x4328aa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
add edx, dword [ebp - 0x4f4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0xc], 0
jle 0x4328aa
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0x4f4]
cdq
mov esi, dword [ebp - 0x30]
add eax, dword [esi + ecx]
adc edx, dword [esi + ecx + 4]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0xc]
imul ecx, ecx, 0x28
mov esi, dword [ebp - 0x30]
mov dword [esi + ecx], eax
mov dword [esi + ecx + 4], edx
cmp dword [ebp - 8], 0
je 0x4328b5
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
movzx edx, byte [ecx]
cmp edx, 1
jne 0x4328f5
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00442a80
add esp, 8
jmp 0x432915
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.0043d060
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x432915
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x500], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x10]
mov dword [ebp - 0x504], edx
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x87
jne 0x432966
mov dword [ebp - 0x4fc], 1
jmp 0x432970
mov dword [ebp - 0x4fc], 2
mov eax, dword [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x500]
push ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 4]
push eax
call fcn.0043cae0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43299e
jmp 0x43479f
mov eax, dword [ebp - 0x500]
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x520], eax
mov ecx, 1
test ecx, ecx
je 0x4329dc
cmp dword [ebp - 0x520], 1
jne 0x4329dc
mov dword [ebp - 0x7d8], 0x4b4b28
jmp 0x4329e6
mov dword [ebp - 0x7d8], 0x4b4b3c
mov edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp + 8]
add eax, 0x6c
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x508]
push eax
mov ecx, dword [ebp - 0x520]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx]
push ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov edx, dword [ebp - 4]
push edx
call fcn.00428180
add esp, 0x14
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
jne 0x432a5d
mov dword [ebp - 8], 7
jmp 0x432ac1
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov dword [ebp - 0x50c], 0
push 0
lea ecx, [ebp - 0x518]
push ecx
push fcn.0044c7d0
mov edx, dword [ebp - 0x51c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0044bb60
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x432aa4
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x51c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0040eda0
add esp, 8
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x99], 0
cmp dword [ebp - 8], 0
je 0x432ae3
mov edx, dword [ebp - 4]
push edx
call fcn.004487a0
add esp, 4
cmp dword [ebp - 8], 7
jne 0x432ade
jmp 0x4348c4
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00446c70
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x432b09
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00448a50
add esp, 0xc
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00447f10
add esp, 0xc
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0044e850
add esp, 0xc
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x52c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x530]
push edx
mov eax, dword [ebp - 0x528]
push eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0043d4b0
add esp, 0x14
mov dword [ebp - 0x534], eax
mov eax, dword [ebp - 0x524]
cdq
mov ecx, dword [ebp - 0x52c]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x52c]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
push edx
call fcn.00424de0
add esp, 4
cmp dword [ebp - 0x524], 0
jne 0x432c1d
jmp 0x432c49
cmp dword [ebp - 0x534], 0
jne 0x432c2d
jmp 0x4348c4
push fcn.0040ed00
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.004250b0
add esp, 0x14
movzx edx, byte [ebp - 0x21]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.00428cf0
add esp, 8
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x432ca6
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0043e9b0
add esp, 4
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x432ca6
jmp 0x4348c4
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
push edx
call fcn.00435210
add esp, 0xc
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 8]
and eax, 0x20
je 0x432cf7
lea ecx, [ebp - 0x540]
push ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
push eax
call fcn.00435340
add esp, 8
test eax, eax
jne 0x432d0a
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.13
mov edx, dword [ebp - 0x53c]
push edx
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
push edx
call fcn.0042a020
add esp, 0xc
jmp 0x42cf9f
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
and ecx, 0x20
jne 0x432d85
mov edx, dword [ebp - 0x34]
push edx
call fcn.0043e9b0
add esp, 4
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 8]
and ecx, 0x20
jne 0x432d85
jmp 0x4348c4
cmp dword [ebp - 0x548], 0
je 0x432dc1
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x548]
push edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
push ecx
call fcn.004355d0
add esp, 0x10
mov dword [ebp - 0x544], eax
cmp dword [ebp - 0x544], 0
je 0x432dc1
jmp 0x42d042
cmp dword [ebp - 0x548], 0
jl 0x432de2
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
push eax
call fcn.00435210
add esp, 0xc
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
test eax, eax
je 0x432e69
mov ecx, dword [ebp - 0x55c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x564], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x54c], ecx
jmp 0x432e3f
mov edx, dword [ebp - 0x54c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x54c], eax
cmp dword [ebp - 0x54c], 0
je 0x432e5b
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ecx + 0x18]
cmp edx, dword [ebp - 0x564]
je 0x432e5b
jmp 0x432e30
cmp dword [ebp - 0x54c], 0
je 0x432e69
jmp case.0x42cf86.112
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0xc0]
cmp edx, dword [ecx + 0x88]
jl 0x432e9a
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
add esp, 8
jmp 0x43479f
mov ecx, dword [ebp - 0x568]
movzx edx, word [ecx + 8]
and edx, 0x40
jne 0x43306c
mov eax, dword [ebp - 0x55c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x55c]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x560], ecx
mov eax, dword [ebp - 0x55c]
cmp dword [eax + 0xc], 0
jne 0x432ee0
mov ecx, dword [ebp - 0x560]
add ecx, 1
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x560]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x55c]
mov ecx, dword [eax + 0xc]
lea edx, [edx + ecx*4 + 0x50]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x558]
cdq
push edx
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.00425040
add esp, 0xc
mov dword [ebp - 0x54c], eax
cmp dword [ebp - 0x54c], 0
jne 0x432f25
jmp 0x4348c4
mov ecx, dword [ebp - 0x568]
push ecx
call fcn.00425790
add esp, 4
mov edx, 0x40
mov eax, dword [ebp - 0x568]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x568]
mov edx, dword [ebp - 0x54c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x560]
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp - 0x55c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x54c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x88]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [ebp - 0x55c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x54c]
lea eax, [edx + ecx + 0x50]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x54c]
add ecx, 0x50
mov dword [ebp - 0x550], ecx
jmp 0x43303f
mov edx, dword [ebp - 0x550]
add edx, 0x28
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x554]
je 0x43306a
mov ecx, 0x80
mov edx, dword [ebp - 0x550]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x20], ecx
jmp 0x433030
jmp 0x43307a
mov edx, dword [ebp - 0x568]
mov eax, dword [edx]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xc0], edx
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp - 0x40]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x54c]
mov ecx, dword [edx + 0x58]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0x54c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xcc]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0xcc], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x54c]
mov dword [ecx + 0xb8], edx
mov eax, dword [ebp - 0x54c]
add eax, 0x50
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x54c]
movzx ecx, word [eax + 0x40]
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 8]
mov dword [edx + 0x70], ecx
mov eax, dword [ebp - 0x55c]
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x55c]
mov eax, dword [edx + 4]
mov dword [ecx + 0x88], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x14
mov dword [ebp - 0x2c], ecx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 0x56c]
mov ecx, dword [eax + 0x30]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0x56c]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 4]
add edx, dword [eax + ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x56c]
add edx, dword [eax + 0x10]
mov dword [ebp - 0x570], edx
push 0x1000
mov ecx, dword [ebp - 0x570]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0043eb20
add esp, 0xc
jmp case.0x42cf86.112
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
and ecx, 0x2000000
je 0x43322a
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1c0]
adc edx, dword [ecx + 0x1c4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1c0], eax
mov dword [ecx + 0x1c4], edx
jmp 0x433273
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 4], 0
je 0x43325a
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1b8]
adc edx, dword [ecx + 0x1bc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b8], eax
mov dword [ecx + 0x1bc], edx
jmp 0x433273
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x40]
adc edx, dword [ecx + 0x44]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 4], 0
je 0x4332ce
mov eax, dword [ebp - 4]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7dc]
mov edx, dword [ebp - 0x7dc]
mov eax, dword [ecx + 0x1b8]
or eax, dword [edx + 0x1bc]
jne 0x4332cc
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [edx + 0x1c0]
or ecx, dword [eax + 0x1c4]
jne 0x4332cc
jmp 0x42d042
jmp 0x433313
mov edx, dword [ebp + 8]
mov dword [ebp - 0x7e4], edx
mov eax, dword [ebp - 0x7e4]
mov ecx, dword [ebp - 0x7e4]
mov edx, dword [eax + 0x40]
or edx, dword [ecx + 0x44]
jne 0x433313
mov eax, dword [ebp - 4]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x7e8]
mov edx, dword [ebp - 0x7e8]
mov eax, dword [ecx + 0x1c0]
or eax, dword [edx + 0x1c4]
jne 0x433313
jmp 0x42d042
jmp case.0x42cf86.112
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb8], 0
je 0x433369
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x574], eax
jmp 0x433344
mov ecx, dword [ebp - 0x574]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x574]
cmp dword [eax + 4], 0
je 0x433352
jmp 0x433335
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x574]
add edx, dword [eax + 0x10]
mov dword [ebp - 0x34], edx
jmp 0x433378
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.0043e750
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.0043e750
add esp, 4
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x7ec], ecx
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x4333e9
jl 0x4333d9
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x4333e9
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x7f4], ecx
mov edx, dword [ebp - 0x7f4]
cmp dword [edx + 4], 0
jl 0x43343f
jg 0x43341f
mov eax, dword [ebp - 0x7f4]
cmp dword [eax], 0
jbe 0x43343f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0xc]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x7f8]
cmp dword [eax + 4], 0
jg 0x4334ad
jl 0x433497
mov ecx, dword [ebp - 0x7f8]
cmp dword [ecx], 0
ja 0x4334ad
mov dword [ebp - 0x800], 0xffffffff
mov dword [ebp - 0x7fc], 0xffffffff
jmp 0x433519
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x804]
cmp dword [eax + 4], 0
jl 0x4334e5
jg 0x4334cf
mov ecx, dword [ebp - 0x804]
cmp dword [ecx], 0
jbe 0x4334e5
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x80c], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x808], ecx
jmp 0x4334f9
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x808], 0
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
add eax, dword [ebp - 0x80c]
mov ecx, dword [edx + 4]
adc ecx, dword [ebp - 0x808]
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x800]
mov dword [edx], eax
mov ecx, dword [ebp - 0x7fc]
mov dword [edx + 4], ecx
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x810]
mov eax, dword [ebp - 0x810]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
je 0x43357d
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x42d042
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
sub edx, 1
mov eax, dword [ecx + 4]
sbb eax, 0
mov ecx, dword [ebp - 0x34]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x814]
mov ecx, dword [ebp - 0x814]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x4335c8
jmp 0x42d042
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x57c]
lea eax, [edx*4 + 0x1c]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 4]
push edx
call fcn.0040f140
add esp, 0xc
mov dword [ebp - 0x578], eax
cmp dword [ebp - 0x578], 0
jne 0x43360b
jmp 0x4348c4
mov eax, dword [ebp - 0x578]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 0x578]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x578]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x578]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x578]
mov al, byte [ebp - 0x57c]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + 1], 0xeb
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x578]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x2c]
mov byte [ecx], 0x94
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x580], edx
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x580]
je 0x433701
mov edx, dword [ebp - 0x584]
mov eax, dword [ebp - 0x580]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x584]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0x588], edx
jmp 0x4336d4
mov eax, dword [ebp - 0x588]
sub eax, 1
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x588], 0
jl 0x433701
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0x588]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x588]
mov ecx, dword [ebp - 0x584]
mov dword [ecx + eax*4 + 0x1c], edx
jmp 0x4336c5
mov edx, dword [ebp - 0x580]
mov eax, dword [edx + 0xc]
add eax, 1
mov ecx, dword [ebp - 0x580]
mov dword [ecx + 0xc], eax
push 1
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x5b0]
push eax
call fcn.0043e980
add esp, 0xc
mov ecx, dword [ebp - 0x584]
lea edx, [ebp - 0x5b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x584]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0x584]
mov byte [ecx + 0x18], 0
mov edx, dword [ebp - 0x584]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x584]
movzx ecx, byte [eax + 0x1a]
push ecx
mov edx, dword [ebp - 0x584]
push edx
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x584]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x4337db
mov edx, dword [ebp - 0x584]
cmp dword [edx + 0x14], 0
je 0x4337c1
lea eax, [ebp - 0x5b0]
push eax
call fcn.00429c60
add esp, 4
push eax
push 0x4b4b4c
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428540
add esp, 0xc
mov edx, dword [ebp - 0x584]
mov eax, dword [edx + 0x14]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x5b0]
push ecx
call fcn.00425790
add esp, 4
cmp dword [ebp - 8], 0
je 0x4337db
jmp 0x43479f
mov edx, dword [ebp - 0x584]
movzx eax, byte [edx + 0x18]
test eax, eax
je 0x433817
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx - 0x10]
mov dword [ebp - 0x588], edx
cmp dword [ebp - 0x588], 0
je 0x433817
push 0
push 1
mov eax, dword [ebp - 0x588]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
push eax
call fcn.0042a020
add esp, 0xc
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x5b4]
push edx
call fcn.00424f40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433873
mov eax, dword [ebp - 0x5b4]
push eax
call fcn.00429c60
add esp, 4
push eax
push 0x4b4bb8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428540
add esp, 0xc
jmp 0x43479f
movzx edx, byte [ebp - 0x21]
push edx
mov eax, dword [ebp - 0x5b4]
push eax
call fcn.00428cf0
add esp, 8
mov ecx, dword [ebp - 0x5b4]
push ecx
call fcn.0043ead0
add esp, 4
test eax, eax
je 0x43389f
jmp 0x4348a7
jmp case.0x42cf86.112
mov dword [ebp - 0x5c4], 0
mov dword [ebp - 0x5bc], 0xffffffff
mov edx, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c0], edx
lea eax, [ebp - 0x5bc]
push eax
lea ecx, [ebp - 0x5c0]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048e2b0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433911
cmp dword [ebp - 8], 5
je 0x433900
jmp 0x43479f
mov dword [ebp - 8], 0
mov dword [ebp - 0x5c4], 1
mov dword [ebp - 0x5c8], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x5b8], edx
jmp 0x43394d
mov eax, dword [ebp - 0x5c8]
add eax, 1
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5b8]
add ecx, 0x28
mov dword [ebp - 0x5b8], ecx
cmp dword [ebp - 0x5c8], 3
jge 0x433977
mov edx, dword [ebp - 0x5c8]
mov eax, dword [ebp + edx*4 - 0x5c4]
cdq
push edx
push eax
mov eax, dword [ebp - 0x5b8]
push eax
call fcn.0042a020
add esp, 0xc
jmp 0x43392f
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x2c]
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 - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
push ecx
call fcn.00416fa0
add esp, 4
mov dword [ebp - 0x5d4], eax
mov edx, dword [ebp - 0x5d4]
push edx
call fcn.0041d000
add esp, 4
mov dword [ebp - 0x5d8], eax
cmp dword [ebp - 0x5dc], 0xffffffff
jne 0x4339f3
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5d4]
push ecx
call fcn.00435aa0
add esp, 4
test eax, eax
jne 0x433a12
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], edx
push 1
mov eax, dword [ebp - 0x5d4]
push eax
call fcn.004281e0
add esp, 8
mov dword [ebp - 0x5d0], eax
cmp dword [ebp - 0x5dc], 5
jne 0x433a64
mov ecx, dword [ebp - 0x5d0]
push ecx
call fcn.00411680
add esp, 4
test eax, eax
je 0x433a58
mov edx, dword [ebp - 0x5d4]
push edx
call fcn.004214f0
add esp, 4
test eax, eax
jne 0x433a64
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5dc]
cmp ecx, dword [ebp - 0x5d8]
je 0x433b63
cmp dword [ebp - 0x5d8], 5
je 0x433a8c
cmp dword [ebp - 0x5dc], 5
jne 0x433b63
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x43]
test eax, eax
je 0x433aa3
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], 1
jle 0x433ae8
mov dword [ebp - 8], 1
cmp dword [ebp - 0x5dc], 5
jne 0x433abf
mov dword [ebp - 0x818], str.into
jmp 0x433ac9
mov dword [ebp - 0x818], str.out_of
mov edx, dword [ebp - 0x818]
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
add esp, 0xc
jmp 0x43479f
cmp dword [ebp - 0x5d8], 5
jne 0x433b21
mov ecx, dword [ebp - 0x5d4]
push ecx
call fcn.00435af0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x433b1f
mov edx, dword [ebp - 0x5dc]
push edx
mov eax, dword [ebp - 0x5d4]
push eax
call fcn.00435940
add esp, 8
jmp 0x433b3b
cmp dword [ebp - 0x5d8], 4
jne 0x433b3b
push 2
mov ecx, dword [ebp - 0x5d4]
push ecx
call fcn.00435940
add esp, 8
cmp dword [ebp - 8], 0
jne 0x433b63
xor edx, edx
cmp dword [ebp - 0x5dc], 5
sete dl
add edx, 1
push edx
mov eax, dword [ebp - 0x5cc]
push eax
call fcn.00424400
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433b75
mov ecx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x5dc]
push edx
mov eax, dword [ebp - 0x5d4]
push eax
call fcn.00435940
add esp, 8
mov dword [ebp - 0x5dc], eax
mov ecx, 0xa02
mov edx, dword [ebp - 0x14]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x5dc]
push eax
call fcn.0044c7b0
add esp, 4
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
push eax
call fcn.00411680
add esp, 4
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xa], 1
movzx eax, byte [ebp - 0x21]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00428cf0
add esp, 8
cmp dword [ebp - 8], 0
je 0x433bea
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x6c
push edx
call fcn.0044e920
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433c17
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
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 - 0x5e0], ecx
mov edx, dword [ebp - 0x5e0]
push edx
call fcn.00436e60
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433c64
cmp dword [ebp - 8], 0x65
je 0x433c58
jmp 0x43479f
mov dword [ebp - 8], 0
jmp 0x42d042
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 4], 0
jne 0x433c80
mov ecx, dword [ebp - 4]
push ecx
call fcn.00440b60
add esp, 4
jmp 0x433c95
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
mov al, byte [edx + 0xc]
mov byte [ebp - 0x5e1], al
movzx ecx, byte [ebp - 0x5e1]
test ecx, ecx
jne 0x433cbe
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 0x4000
jne 0x433d35
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x5e8], edx
movzx eax, byte [ebp - 0x5e1]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x5e8]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0043e5f0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x433d35
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 6
jne 0x433d30
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
push ecx
push str.database_table_is_locked:__s
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 0xc
jmp 0x43479f
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5f0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004501a0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x5f0], 0
je 0x433d7b
mov ecx, dword [ebp - 0x5f0]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
je 0x433d86
jmp 0x43479f
jmp case.0x42cf86.112
push 0x28
push 0
lea ecx, [ebp - 0x620]
push ecx
call fcn.00493180
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
push ecx
lea edx, [ebp - 0x620]
push edx
call fcn.0042a220
add esp, 8
mov dword [ebp - 8], eax
lea eax, [ebp - 0x620]
push eax
call fcn.00429c60
add esp, 4
mov dword [ebp - 0x5f4], eax
cmp dword [ebp - 0x5f4], 0
je 0x433e08
mov ecx, dword [ebp + 8]
add ecx, 0x6c
push ecx
mov edx, dword [ebp - 0x5f4]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0044f640
add esp, 0x10
mov dword [ebp - 8], eax
lea eax, [ebp - 0x620]
push eax
call fcn.00425790
add esp, 4
cmp dword [ebp - 8], 0
je 0x433e22
jmp 0x43479f
jmp case.0x42cf86.112
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xac]
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xac], edx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0044ff20
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xac]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0xac], ecx
cmp dword [ebp - 8], 0
je 0x433e79
jmp 0x43479f
jmp case.0x42cf86.112
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x628], edx
cmp dword [ebp - 0x628], 0
je 0x433eb5
mov eax, dword [ebp - 0x628]
cmp dword [eax], 0
jne 0x433ec1
mov dword [ebp - 8], 6
jmp 0x43479f
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx]
mov dword [ebp - 0x624], edx
lea eax, [ebp - 0x62c]
push eax
mov ecx, dword [ebp - 0x628]
push ecx
mov edx, dword [ebp - 0x624]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x628]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
je 0x433f0c
jmp 0x43479f
mov eax, dword [ebp - 0x62c]
mov ecx, dword [ebp - 0x628]
mov dword [eax], ecx
push 2
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440c00
add esp, 0x14
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0
je 0x433f68
mov edx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + 4]
add edx, 1
mov eax, dword [ebp - 0x628]
mov dword [eax + 4], edx
jmp 0x433f82
mov ecx, dword [ebp - 0x62c]
push ecx
mov edx, dword [ebp - 0x624]
mov eax, dword [edx + 0x1c]
call eax
add esp, 4
jmp 0x4348c4
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x638]
add eax, 0x28
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x64c], ecx
mov edx, dword [ebp - 0x64c]
mov eax, dword [edx]
mov dword [ebp - 0x648], eax
mov ecx, dword [ebp - 0x648]
mov edx, dword [ecx]
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x650]
mov ecx, dword [eax]
mov dword [ebp - 0x65c], ecx
mov edx, dword [ebp - 0x638]
mov eax, dword [edx]
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x634], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x640], 0
jmp 0x434035
mov eax, dword [ebp - 0x640]
add eax, 1
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x640]
cmp ecx, dword [ebp - 0x65c]
jge 0x434066
mov edx, dword [ebp - 0x640]
add edx, 1
imul edx, edx, 0x28
add edx, dword [ebp - 0x650]
mov eax, dword [ebp - 0x640]
mov ecx, dword [ebp - 0x644]
mov dword [ecx + eax*4], edx
jmp 0x434026
mov edx, dword [ebp - 0x644]
push edx
mov eax, dword [ebp - 0x65c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x658]
push eax
mov ecx, dword [ebp - 0x64c]
push ecx
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx + 0x20]
call eax
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x648]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
je 0x4340b8
jmp 0x43479f
mov eax, dword [ebp - 0x64c]
push eax
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x654]
mov byte [eax + 2], 0
cmp dword [ebp - 0x634], 0
je 0x4340eb
jmp 0x42d042
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x68c], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x660], ecx
mov edx, dword [ebp - 0x68c]
movzx eax, byte [edx + 2]
test eax, eax
je 0x434139
mov ecx, dword [ebp - 0x660]
push ecx
call fcn.00424de0
add esp, 4
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x68c]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x688], ecx
mov edx, dword [ebp - 0x688]
mov eax, dword [edx]
mov dword [ebp - 0x684], eax
push 0x20
push 0
lea ecx, [ebp - 0x680]
push ecx
call fcn.00493180
add esp, 0xc
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0x680], edx
mov eax, dword [ebp - 0x660]
movzx ecx, word [eax + 8]
and ecx, 0xffff3e00
or ecx, 1
mov edx, dword [ebp - 0x660]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x680]
push edx
mov eax, dword [ebp - 0x68c]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x684]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x688]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 0x66c], 0
je 0x4341e2
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0x21]
push ecx
mov edx, dword [ebp - 0x660]
push edx
call fcn.00428cf0
add esp, 8
mov eax, dword [ebp - 0x660]
push eax
call fcn.0043ead0
add esp, 4
test eax, eax
je 0x43420e
jmp 0x4348a7
cmp dword [ebp - 8], 0
je 0x434219
jmp 0x43479f
jmp case.0x42cf86.112
mov dword [ebp - 0x690], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x434250
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x69c]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x698]
mov eax, dword [edx]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x694]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x698]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
je 0x4342a8
jmp 0x43479f
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x694]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0x690], eax
cmp dword [ebp - 0x690], 0
jne 0x4342d4
jmp case.0x42cf86.13
jmp 0x42cf9f
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x6a0], eax
push 1
mov ecx, dword [ebp - 0x6a0]
push ecx
call fcn.00428cf0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x434319
jmp 0x43479f
mov edx, dword [ebp - 0x6a0]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x6a4]
push ecx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov ecx, dword [eax + 0x4c]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x6a4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ba0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
and edx, 0xfffffffe
mov eax, dword [ebp + 8]
mov dword [eax + 0x90], edx
cmp dword [ebp - 8], 0
je 0x434370
jmp 0x43479f
jmp case.0x42cf86.112
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x6c4], eax
cmp dword [ebp - 0x6c4], 0
je 0x434398
mov ecx, dword [ebp - 0x6c4]
cmp dword [ecx], 0
jne 0x4343a4
mov dword [ebp - 8], 6
jmp 0x43479f
mov edx, dword [ebp - 0x6c4]
mov eax, dword [edx]
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x6c8], edx
mov eax, dword [ebp - 0x6a8]
cmp dword [eax + 0x34], 0
je 0x434550
mov ecx, dword [ebp - 4]
mov dl, byte [ecx + 0x4a]
mov byte [ebp - 0x6c9], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], 0
jmp 0x434413
mov ecx, dword [ebp - 0x6ac]
add ecx, 1
mov dword [ebp - 0x6ac], ecx
mov edx, dword [ebp - 0x6ac]
cmp edx, dword [ebp - 0x6c8]
jge 0x434447
mov eax, dword [ebp - 0x6ac]
mov ecx, dword [ebp - 0x6b4]
mov edx, dword [ebp - 0x6b0]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x6b0]
add eax, 0x28
mov dword [ebp - 0x6b0], eax
jmp 0x434404
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov al, byte [edx + 3]
mov byte [ecx + 0x4a], al
lea ecx, [ebp - 0x6c0]
push ecx
mov edx, dword [ebp - 0x6b4]
push edx
mov eax, dword [ebp - 0x6c8]
push eax
mov ecx, dword [ebp - 0x6c4]
push ecx
mov edx, dword [ebp - 0x6a8]
mov eax, dword [edx + 0x34]
call eax
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x6c9]
mov byte [ecx + 0x4a], dl
mov eax, dword [ebp - 0x6c4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ba0
add esp, 8
cmp dword [ebp - 8], 0
jne 0x4344cf
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 4], 0
je 0x4344cf
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x6bc]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 8]
and edx, 0xff
cmp edx, 0x13
jne 0x434536
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x434536
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 3]
cmp ecx, 4
jne 0x434500
mov dword [ebp - 8], 0
jmp 0x434534
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 3]
cmp eax, 5
jne 0x434518
mov dword [ebp - 0x81c], 2
jmp 0x434525
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x81c]
mov byte [eax + 0x8e], cl
jmp 0x434545
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
cmp dword [ebp - 8], 0
je 0x434550
jmp 0x43479f
jmp case.0x42cf86.112
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0041f490
add esp, 4
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x42cf86.112
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00440ed0
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x2c]
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 - 0x6d0], eax
mov dword [ebp - 0x6d4], 0
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0xc], 0
je 0x434601
mov edx, dword [ebp - 0x6d0]
push edx
call fcn.0041f490
add esp, 4
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x6d4]
cmp ecx, dword [eax + 0xc]
jae 0x434601
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d0]
push edx
call fcn.00436e00
add esp, 8
cdq
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42cf86.112
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x4c]
and eax, 0x81
je 0x434711
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
shr edx, 1
and edx, 1
jne 0x434711
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x10], 0
je 0x434662
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x820], edx
jmp 0x434671
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
mov dword [ebp - 0x820], ecx
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x6dc], edx
cmp dword [ebp - 0x6dc], 0
je 0x434711
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x4c]
and ecx, 0x80
je 0x4346ec
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x6dc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042c5e0
add esp, 8
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x6e4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbc]
push edx
call dword [ebp - 0x6e0]
add esp, 8
mov eax, dword [ebp - 0x6e4]
push eax
call fcn.0040ed00
add esp, 4
jmp 0x434711
mov ecx, dword [ebp - 0x6dc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbc]
push ecx
push 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
cmp edx, dword [0x4b2bf0]
jl 0x434786
mov dword [ebp - 0x6d8], 1
jmp 0x43473a
mov eax, dword [ebp - 0x6d8]
add eax, 1
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [ecx + 0x88]
jge 0x43477c
mov eax, dword [ebp - 0x6d8]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
movzx eax, byte [edx + eax]
cmp eax, 0x14
jne 0x43477a
mov ecx, dword [ebp - 0x6d8]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov dword [eax + ecx + 4], 0
jmp 0x43472b
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
add eax, 1
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
jmp 0x42d042
jmp 0x42cf45
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x45]
test eax, eax
je 0x4347b1
mov dword [ebp - 8], 7
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6c], 0
jne 0x4347e1
cmp dword [ebp - 8], 0xc0a
je 0x4347e1
mov edx, dword [ebp - 8]
push edx
call fcn.0048d740
add esp, 4
push eax
push 0x4b4c20
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
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.00417180
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
push edx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
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.00411360
add esp, 0x14
mov eax, dword [ebp + 8]
push eax
call fcn.00425ff0
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x43484c
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040f280
add esp, 4
mov dword [ebp - 8], 1
movzx edx, byte [ebp - 0x22]
test edx, edx
jle 0x43486f
movzx eax, byte [ebp - 0x22]
sub eax, 1
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00448750
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xac]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xac], eax
mov edx, dword [ebp + 8]
push edx
call fcn.00426550
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x43492d
push 0x4b4c44
mov eax, dword [ebp + 8]
push eax
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 0x12
jmp 0x43479f
mov ecx, dword [ebp - 4]
push ecx
call fcn.0040f280
add esp, 4
push 0x4b4c5c
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 8
mov dword [ebp - 8], 7
jmp 0x43479f
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x45]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 9
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.0048d740
add esp, 4
push eax
push 0x4b4c6c
mov edx, dword [ebp + 8]
push edx
call fcn.00428540
add esp, 0xc
jmp 0x43479f
pop edi
pop esi
mov ecx, dword [ebp - 0x2d4]
xor ecx, ebp
call fcn.004931fa
mov esp, ebp
pop ebp
ret