Function at 0x562430
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
push ebx
push esi
push edi
lea edi, [ebp - 0x288]
mov ecx, 0xa2
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x86dc84]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x39]
mov byte [ebp - 0x39], al
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp + 8]
push eax
call fcn.0055c240
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x64], 7
jne 0x5624ca
jmp 0x568ba3
mov eax, dword [ebp + 8]
mov dword [eax + 0x64], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x198], 0
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xd0], 0
je 0x5624fc
jmp 0x568c1a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0xc], ecx
jmp 0x562510
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x24], 0
jne 0x568b3d
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x56252a
jmp 0x568ba3
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x14
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xf8], 0
je 0x5625bd
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x100]
cmp ecx, dword [ebp - 0x9c]
jne 0x5625ae
xor eax, eax
je 0x56255f
jmp 0x568bce
mov esi, esp
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xfc]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0xf8]
call eax
add esp, 4
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x158], eax
xor eax, eax
je 0x56258f
jmp 0x568bce
cmp dword [ebp - 0x158], 0
je 0x5625a4
mov dword [ebp - 0x24], 9
jmp 0x568b3d
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dl, byte [ecx + 0x77e250]
mov byte [ebp - 0x75], dl
movzx eax, byte [ebp - 0x75]
and eax, 2
je 0x56260b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559630
add esp, 4
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 1
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x18], 0
jmp 0x5626b3
movzx eax, byte [ebp - 0x75]
and eax, 4
je 0x56267b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x48], ecx
movzx eax, byte [ebp - 0x75]
and eax, 8
je 0x56265e
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x54], ecx
movzx eax, byte [ebp - 0x75]
and eax, 0x20
je 0x56265c
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
jmp 0x562679
movzx eax, byte [ebp - 0x75]
and eax, 0x10
je 0x562679
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x60], ecx
jmp 0x5626b3
movzx eax, byte [ebp - 0x75]
and eax, 8
je 0x562698
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x54], ecx
jmp 0x5626b3
movzx eax, byte [ebp - 0x75]
and eax, 0x10
je 0x5626b3
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
sub edx, 1
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 0x90
ja case.0x5626e4.11
mov eax, dword [ebp - 0x280]
jmp dword [eax*4 + 0x568cac]
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xd0], 0
je 0x5626fc
jmp 0x568c1a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xc], eax
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne case.0x5626e4.38
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
mov dword [eax + 0x64], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx + 8]
mov byte [eax + 0x38], dl
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x5627da
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
push 0x781bf4
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp + 8]
add eax, 0x68
push eax
call fcn.0055ff00
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.0055a860
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 5
jne 0x562801
mov dword [ebp - 0x24], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
jmp 0x562814
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff9c
add ecx, 0x65
mov dword [ebp - 0x24], ecx
jmp 0x568b69
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ecx]
mov dword [edx], eax
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x6c]
fld qword [ecx]
fstp qword [edx + 8]
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov byte [eax], 0x1c
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00545e00
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0x39]
cmp eax, 1
je 0x56294c
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.00558ad0
add esp, 0x14
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x12
jne 0x5628c2
jmp 0x568b82
movzx eax, byte [ebp - 0x39]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.0055d4d0
add esp, 8
test eax, eax
je 0x5628dc
jmp 0x568ba3
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
or ecx, 0x800
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x56292d
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x18]
mov byte [eax + 1], 0xff
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x48]
jle case.0x5626e4.27
jmp 0x568b82
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 0xa02
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x39]
mov byte [eax + 0x1f], cl
jmp case.0x5626e4.11
push 0
push 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00558ad0
add esp, 0x14
mov eax, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x39]
mov byte [eax + 0x1f], cl
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x144]
sub ecx, 1
mov dword [ebp - 0x144], ecx
test eax, eax
jle 0x562a0b
mov dword [ebp - 0x280], 1
jmp 0x562a15
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x280], 0
je 0x562ab1
mov eax, dword [ebp - 0x14c]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x14c]
add edx, 1
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x140]
push eax
call fcn.00575250
add esp, 4
test eax, eax
je 0x562a5e
jmp 0x568b82
mov eax, dword [ebp - 0x148]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559630
add esp, 4
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 1
push 0x800
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.005752e0
add esp, 0xc
jmp 0x5629e6
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x144]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x140]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x148]
sub ecx, 1
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x280], 0
je 0x562b68
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00561f00
add esp, 8
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x48]
add eax, 0x28
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x6c]
add eax, 0x28
mov dword [ebp - 0x6c], eax
jmp 0x562afe
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
push 0x1000
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.005752e0
add esp, 0xc
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x562bb8
mov eax, dword [ebp - 0x6c]
push eax
call fcn.005593a0
add esp, 4
test eax, eax
je 0x562bb8
jmp 0x568ba3
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
push 0x1000
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.005752e0
add esp, 0xc
jmp case.0x5626e4.11
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.0055ba20
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x562c05
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
add ecx, 2
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x50], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], 0
jmp 0x562c53
mov eax, dword [ebp - 0x148]
add eax, 1
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [eax + 8]
jge 0x562c93
mov eax, dword [ebp - 0x148]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14c]
push eax
call fcn.0055e000
add esp, 4
mov eax, dword [ebp - 0x148]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14c]
push eax
call fcn.005621b0
add esp, 4
jmp 0x562c44
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x562ca3
jmp 0x568ba3
mov eax, dword [ebp - 0xc]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x60], eax
mov dword [ebp - 0x24], 0x64
jmp 0x568b69
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x54]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x562ce1
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559930
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x562d04
mov edx, dword [ebp - 0x48]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x562d0e
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x280], 0
jne 0x562d4d
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x562d3a
mov edx, dword [ebp - 0x54]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x562d44
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x280], 0
je 0x562d52
jmp 0x568ba3
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x562d78
movzx eax, byte [ebp - 0x39]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0055e0e0
add esp, 8
test eax, eax
je 0x562d78
jmp 0x568ba3
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x562d9e
movzx eax, byte [ebp - 0x39]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.0055e0e0
add esp, 8
test eax, eax
je 0x562d9e
jmp 0x568ba3
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x54]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0x280]
jl 0x562ded
jg 0x562de8
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ebp - 0x284]
jbe 0x562ded
jmp 0x568b82
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 2
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp eax, dword [ebp - 0x54]
sete cl
push ecx
mov edx, dword [ebp - 0x14c]
add edx, 2
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00558f50
add esp, 0xc
test eax, eax
je 0x562e2f
jmp 0x568ba3
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x54]
je 0x562e54
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 0x14]
push edx
call fcn.0052c009
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x54]
add edx, dword [eax + 0x18]
push edx
call fcn.0052c009
add esp, 0xc
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx + 0x14]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x14c]
add eax, 1
mov ecx, dword [ebp - 0x148]
adc ecx, 0
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x39]
mov byte [eax + 0x1f], cl
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
push eax
call fcn.00562250
add esp, 4
mov eax, dword [ebp - 0x54]
push eax
call fcn.00562250
add esp, 4
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x54]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
and eax, 1
je 0x562f0f
jmp 0x5632d7
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x54]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x56311a
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
sub edx, 0x54
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 3
ja case.default.0x562f7e
mov eax, dword [ebp - 0x280]
jmp dword [eax*4 + 0x568ef0]
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x138]
adc ecx, dword [ebp - 0x140]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], ecx
jmp 0x5630ea
mov eax, dword [ebp - 0x13c]
sub eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x138]
sbb ecx, dword [ebp - 0x140]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], ecx
jmp 0x5630ea
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.00526145
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
jmp 0x5630ea
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x140]
jne 0x56301c
jmp 0x5632d7
mov eax, dword [ebp - 0x144]
and eax, dword [ebp - 0x140]
cmp eax, 0xffffffff
jne 0x563056
cmp dword [ebp - 0x13c], 0
jne 0x563056
cmp dword [ebp - 0x138], 0x80000000
jne 0x563056
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.00526280
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
jmp 0x5630ea
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x140]
jne 0x563098
jmp 0x5632d7
mov eax, dword [ebp - 0x144]
and eax, dword [ebp - 0x140]
cmp eax, 0xffffffff
jne 0x5630bd
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.0052622b
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x138]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp 0x5632d2
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e2c0
add esp, 4
fstp qword [ebp - 0x134]
mov eax, dword [ebp - 0x54]
push eax
call fcn.0055e2c0
add esp, 4
fstp qword [ebp - 0x12c]
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
sub edx, 0x54
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 3
ja case.default.0x563168
mov eax, dword [ebp - 0x280]
jmp dword [eax*4 + 0x568f00]
fld qword [ebp - 0x12c]
fadd qword [ebp - 0x134]
fstp qword [ebp - 0x12c]
jmp 0x56327e
fld qword [ebp - 0x12c]
fsub qword [ebp - 0x134]
fstp qword [ebp - 0x12c]
jmp 0x56327e
fld qword [ebp - 0x12c]
fmul qword [ebp - 0x134]
fstp qword [ebp - 0x12c]
jmp 0x56327e
fldz
fcomp qword [ebp - 0x134]
fnstsw ax
test ah, 0x44
jp 0x5631c8
jmp 0x5632d7
fld qword [ebp - 0x12c]
fdiv qword [ebp - 0x134]
fstp qword [ebp - 0x12c]
jmp 0x56327e
fld qword [ebp - 0x134]
call fcn.0052aef2
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], edx
fld qword [ebp - 0x12c]
call fcn.0052aef2
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x140]
jne 0x563220
jmp 0x5632d7
mov eax, dword [ebp - 0x144]
and eax, dword [ebp - 0x140]
cmp eax, 0xffffffff
jne 0x563245
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.0052622b
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
fild qword [ebp - 0x284]
fstp qword [ebp - 0x12c]
sub esp, 8
fld qword [ebp - 0x12c]
fstp qword [esp]
call fcn.00545d80
add esp, 8
test eax, eax
je 0x563298
jmp 0x5632d7
mov eax, dword [ebp - 0x6c]
fld qword [ebp - 0x12c]
fstp qword [eax + 8]
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 8
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
and eax, 8
jne 0x5632d2
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00574e80
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559930
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x14c], 0
jmp 0x563345
mov eax, dword [ebp - 0x14c]
add eax, 1
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x148]
add ecx, 0x28
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x100]
jge 0x563379
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x148]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x148]
push eax
call fcn.005621b0
add esp, 4
jmp 0x563327
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x56339d
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], 0
jmp 0x5633b7
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov word [ebp - 0x120], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x13c]
push ecx
call fcn.00561f00
add esp, 8
movzx eax, word [ebp - 0x120]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x120], ax
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x56343d
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x10c], ecx
xor eax, eax
je 0x563446
jmp 0x568bce
mov esi, esp
mov eax, dword [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
lea edx, [ebp - 0x144]
push edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
cmp esi, esp
call fcn.0052a55b
xor eax, eax
je 0x56348a
lea eax, [ebp - 0x13c]
push eax
call fcn.005595a0
add esp, 4
jmp 0x568bce
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x5634a9
lea eax, [ebp - 0x13c]
push eax
call fcn.005595a0
add esp, 4
jmp 0x568ba3
cmp dword [ebp - 0x140], 0
je 0x5634db
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x140]
push edx
call fcn.0055c780
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x18]
mov byte [eax + 1], 0xf9
cmp dword [ebp - 0x110], 0
je 0x563515
lea eax, [ebp - 0x13c]
push eax
call fcn.005257bd
add esp, 4
push eax
push 0x781bf4
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 0x39]
push eax
lea ecx, [ebp - 0x13c]
push ecx
call fcn.0055d4d0
add esp, 8
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00561f00
add esp, 8
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00575250
add esp, 4
test eax, eax
je 0x563551
jmp 0x568b82
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x54]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x56357c
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559930
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x54]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x18]
mov cl, byte [eax]
mov byte [ebp - 0x280], cl
cmp byte [ebp - 0x280], 0x50
je 0x5635d4
cmp byte [ebp - 0x280], 0x51
je 0x5635fa
cmp byte [ebp - 0x280], 0x52
je 0x563620
jmp 0x563645
mov eax, dword [ebp - 0x14c]
and eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
and ecx, dword [ebp - 0x140]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
jmp 0x563668
mov eax, dword [ebp - 0x14c]
or eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
or ecx, dword [ebp - 0x140]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
jmp 0x563668
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
call fcn.005260aa
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
jmp 0x563668
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
call fcn.00526104
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x48]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x48]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x5626e4.11
mov al, byte [ebp - 0x39]
push eax
push 0x63
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00577390
add esp, 0xc
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x563705
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
jne 0x5636f7
mov dword [ebp - 0x24], 0x14
jmp 0x568bd5
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x56371c
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x48]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 4
je 0x563739
mov eax, dword [ebp - 0x48]
push eax
call fcn.005623b0
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x56374f
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x48]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x48]
mov word [ecx + 0x1c], ax
mov al, byte [ebp - 0x39]
push eax
push 0x61
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00577390
add esp, 0xc
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x5637a1
mov edx, dword [ebp - 0x48]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x5637ab
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbfe3
mov edx, dword [ebp - 0x48]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x5637de
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x563815
mov al, byte [ebp - 0x39]
push eax
push 0x61
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00577390
add esp, 0xc
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0x48]
mov word [edx + 0x1c], cx
jmp 0x563829
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffff10
mov edx, dword [ebp - 0x48]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0xd
jne 0x563846
mov eax, dword [ebp - 0x48]
push eax
call fcn.00575000
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x563863
mov eax, dword [ebp - 0x48]
push eax
call fcn.00574f80
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x563880
mov eax, dword [ebp - 0x48]
push eax
call fcn.005623b0
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x60]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
and eax, 1
je 0x5638fa
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x5638dd
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp 0x5638f5
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x5638f5
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 0x67
mov byte [ebp - 0x144], cl
movsx eax, byte [ebp - 0x144]
test eax, eax
je 0x563953
mov al, byte [ebp - 0x39]
push eax
mov cl, byte [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.00577390
add esp, 0xc
mov al, byte [ebp - 0x39]
push eax
mov cl, byte [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call fcn.00577390
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x563953
jmp 0x568ba3
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x563976
mov edx, dword [ebp - 0x48]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x563980
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x5639a3
mov edx, dword [ebp - 0x60]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x5639ad
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.005753b0
add esp, 0xc
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
sub edx, 0x49
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 4
ja case.default.0x5639f4
mov eax, dword [ebp - 0x280]
jmp dword [eax*4 + 0x568f10]
xor eax, eax
cmp dword [ebp - 0x148], 0
sete al
mov dword [ebp - 0x148], eax
jmp 0x563a71
xor eax, eax
cmp dword [ebp - 0x148], 0
setne al
mov dword [ebp - 0x148], eax
jmp 0x563a71
xor eax, eax
cmp dword [ebp - 0x148], 0
setl al
mov dword [ebp - 0x148], eax
jmp 0x563a71
xor eax, eax
cmp dword [ebp - 0x148], 0
setle al
mov dword [ebp - 0x148], eax
jmp 0x563a71
xor eax, eax
cmp dword [ebp - 0x148], 0
setg al
mov dword [ebp - 0x148], eax
jmp 0x563a71
xor eax, eax
cmp dword [ebp - 0x148], 0
setge al
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x563ab7
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x148]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x563acc
cmp dword [ebp - 0x148], 0
je 0x563acc
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x90], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x148], 0
jmp 0x563b2d
mov eax, dword [ebp - 0x148]
add eax, 1
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x14c]
jge 0x563c0e
cmp dword [ebp - 0x90], 0
je 0x563b5f
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x280], edx
jmp 0x563b6b
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x148]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x138]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
push ecx
mov eax, dword [ebp - 0x144]
add eax, dword [ebp - 0x138]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
push eax
call fcn.005753b0
add esp, 0xc
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x563c09
cmp dword [ebp - 0x130], 0
je 0x563c07
mov eax, dword [ebp - 0x84]
neg eax
mov dword [ebp - 0x84], eax
jmp 0x563c0e
jmp 0x563b1e
mov dword [ebp - 0x90], 0
jmp case.0x5626e4.11
cmp dword [ebp - 0x84], 0
jge 0x563c34
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x563c57
cmp dword [ebp - 0x84], 0
jne 0x563c4b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x563c57
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563c74
mov dword [ebp - 0x14c], 2
jmp 0x563cbc
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x284]
or ecx, dword [ebp - 0x280]
je 0x563ca6
mov dword [ebp - 0x288], 1
jmp 0x563cb0
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563cd4
mov dword [ebp - 0x148], 2
jmp 0x563d1c
mov eax, dword [ebp - 0x54]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x284]
or ecx, dword [ebp - 0x280]
je 0x563d06
mov dword [ebp - 0x288], 1
jmp 0x563d10
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x43
jne 0x563d46
mov eax, dword [ebp - 0x14c]
imul eax, eax, 3
mov ecx, dword [ebp - 0x148]
movzx edx, byte [eax + ecx + 0x77e21c]
mov dword [ebp - 0x14c], edx
jmp 0x563d63
mov eax, dword [ebp - 0x14c]
imul eax, eax, 3
mov ecx, dword [ebp - 0x148]
movzx edx, byte [eax + ecx + 0x77e2e4]
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 2
jne 0x563d85
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp 0x563dab
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563ddc
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559930
add esp, 4
jmp 0x563e2d
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x284]
or ecx, dword [ebp - 0x280]
jne 0x563e0e
mov dword [ebp - 0x288], 1
jmp 0x563e18
mov dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
cdq
push edx
push eax
mov edx, dword [ebp - 0x6c]
push edx
call fcn.0055edb0
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563e5e
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00559930
add esp, 4
jmp 0x563e7c
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e440
add esp, 4
not eax
not edx
push edx
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.0055edb0
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563e9b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14c], ecx
jmp 0x563ef3
mov eax, dword [ebp - 0x48]
push eax
call fcn.0055e2c0
add esp, 4
fcomp qword [0x781998]
fnstsw ax
test ah, 0x44
jnp 0x563ec0
mov dword [ebp - 0x280], 1
jmp 0x563eca
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x44
jne 0x563ef3
xor eax, eax
cmp dword [ebp - 0x14c], 0
sete al
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x563f08
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x563f25
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x563f42
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], 0
push 0x28
push 0
lea eax, [ebp - 0x10c]
push eax
call fcn.00523260
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x110]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 1
mov edx, dword [ebp - 0x110]
mov word [edx + 0x1c], cx
mov dword [ebp - 0x130], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
je 0x5640a0
mov eax, dword [ebp - 0x134]
push eax
call fcn.00575aa0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x564005
jmp 0x568bd5
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x56401f
mov dword [ebp - 0x14c], 0
jmp 0x56409e
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
cmp edx, dword [ecx + 0x50]
jne 0x564050
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0x130], ecx
jmp 0x56409e
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x564085
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00557e60
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x14c], eax
jmp 0x56409e
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0056bda0
add esp, 8
mov dword [ebp - 0x24], eax
jmp 0x5640e5
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x5640db
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x134]
mov dword [eax + 0x5c], 0
jmp 0x5640e5
mov dword [ebp - 0x14c], 0
cmp dword [ebp - 0x14c], 0
jne 0x5640f3
jmp 0x5646db
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [eax + 0x48]
jbe 0x564106
jmp 0x568b82
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
cmp edx, dword [ecx + 0x50]
jne 0x564149
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x124], ecx
jmp 0x564525
mov dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x128]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x124]
mov dword [eax + 0x68], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [eax + 0x5c], edx
cmp dword [ebp - 0x130], 0
je 0x5641af
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x114], eax
jmp 0x56422f
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x5641db
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0056c0c0
add esp, 8
mov dword [ebp - 0x114], eax
jmp 0x5641f7
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0056c260
add esp, 8
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0xc8]
ja 0x564222
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x114]
mov dword [eax + 0x6c], ecx
jmp 0x56422f
mov eax, dword [ebp - 0x134]
mov dword [eax + 0x6c], 0
mov eax, dword [ebp - 0x114]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x56425b
mov edx, dword [ebp - 0x114]
movzx eax, byte [edx]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x280], 1
jmp 0x56427a
lea ecx, [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0x114]
push edx
call fcn.005558d0
add esp, 8
movzx eax, al
mov dword [ebp - 0x280], eax
movzx ecx, byte [ebp - 0x280]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xdc], 0x18003
jbe 0x56429f
mov dword [ebp - 0x24], 0xb
jmp 0x5646db
mov eax, dword [ebp - 0x120]
imul eax, eax, 5
add eax, 3
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0xdc]
jle 0x5642cb
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x130], 0
jne 0x564339
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0x11c]
jge 0x564339
mov word [ebp - 0xf0], 0
mov dword [ebp - 0xfc], 0
lea eax, [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx + 0x19]
push edx
mov eax, dword [ebp - 0x11c]
push eax
push 0
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.005758a0
add esp, 0x14
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x56432d
jmp 0x5646db
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x114]
add eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x118], 0
jmp 0x56438c
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x120]
jge 0x564483
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe0]
jae 0x56446b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x124]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xe4]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x5643fa
mov edx, dword [ebp - 0xe4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x128]
mov dword [edx + ecx*4], eax
mov dword [ebp - 0x280], 1
jmp 0x564422
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x128]
lea edx, [ecx + eax*4]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.005558d0
add esp, 8
movzx ecx, al
mov dword [ebp - 0x280], ecx
movzx edx, byte [ebp - 0x280]
add edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00575f20
add esp, 4
xor ecx, ecx
add eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd0]
adc edx, ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
jmp 0x56447e
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x124]
mov dword [ecx + eax*4], 0
jmp 0x56437d
lea eax, [ebp - 0x10c]
push eax
call fcn.005595a0
add esp, 4
mov word [ebp - 0xf0], 1
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe0]
ja 0x564519
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0x280]
ja 0x564519
jb 0x5644db
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x284]
ja 0x564519
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xe0]
jne 0x564525
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x284]
jne 0x564519
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x280]
je 0x564525
mov dword [ebp - 0x24], 0xb
jmp 0x5646db
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x124]
cmp dword [ecx + eax*4], 0
je 0x564647
cmp dword [ebp - 0x130], 0
je 0x56458d
mov eax, dword [ebp - 0x110]
push eax
call fcn.00559630
add esp, 4
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x130]
add eax, dword [edx + ecx*4]
push eax
call fcn.00576160
add esp, 0xc
jmp 0x564639
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00575f20
add esp, 4
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x110]
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00561f00
add esp, 8
lea eax, [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx + 0x19]
push edx
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.005758a0
add esp, 0x14
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x564607
jmp 0x5646db
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
call fcn.00576160
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov cl, byte [ebp - 0x39]
mov byte [eax + 0x1f], cl
jmp 0x56466e
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff8
jne 0x56466e
push 0x800
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call fcn.005752e0
add esp, 0xc
cmp dword [ebp - 0xe8], 0
je 0x5646c9
mov eax, dword [ebp - 0x110]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffe7ff
mov edx, dword [ebp - 0x110]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x110]
movzx ecx, word [eax + 0x1c]
or ecx, 0x200
mov edx, dword [ebp - 0x110]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xf8]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x110]
push eax
call fcn.005593a0
add esp, 4
mov dword [ebp - 0x24], eax
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x148]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x140], eax
jmp 0x564736
mov eax, dword [ebp - 0x140]
add eax, 0x28
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x144]
ja 0x5647ad
mov eax, dword [ebp - 0x140]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x56476d
mov edx, dword [ebp - 0x140]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x564777
mov dword [ebp - 0x280], 0
mov al, byte [ebp - 0x39]
push eax
mov eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x148]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x14c]
mov al, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
call fcn.00577390
add esp, 0xc
jmp 0x564727
jmp case.0x5626e4.11
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp - 0x118]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x6f]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x148], eax
jmp 0x564869
mov eax, dword [ebp - 0x148]
add eax, 0x28
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x11c]
ja 0x564992
cmp dword [ebp - 0x114], 0
je 0x5648b5
mov al, byte [ebp - 0x39]
push eax
mov eax, dword [ebp - 0x148]
sub eax, dword [ebp - 0x120]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x114]
mov al, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00577390
add esp, 0xc
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x5648e2
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x18], 0
jle 0x5648e2
mov eax, dword [ebp - 0x148]
push eax
call fcn.005594b0
add esp, 4
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00575d10
add esp, 8
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
push eax
call fcn.00575f20
add esp, 4
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
cdq
add eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x140]
adc ecx, edx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x124]
xor ecx, ecx
push ecx
push eax
call fcn.0056ac80
add esp, 8
add eax, dword [ebp - 0x13c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x56497a
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x12c]
add ecx, dword [eax]
mov dword [ebp - 0x12c], ecx
jmp 0x56498d
cmp dword [ebp - 0x108], 0
je 0x56498d
mov dword [ebp - 0x12c], 0
jmp 0x56485a
mov eax, dword [ebp - 0x13c]
cdq
push edx
push eax
call fcn.0056ac80
add esp, 8
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x128]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
cdq
push edx
push eax
call fcn.0056ac80
add esp, 8
cmp dword [ebp - 0x128], eax
jge 0x5649e3
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x144]
adc esi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x12c]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], esi
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebp - 0x280]
jl 0x564a47
jg 0x564a42
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x284]
jbe 0x564a47
jmp 0x568b82
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
push 0
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00558f50
add esp, 0xc
test eax, eax
je 0x564a77
jmp 0x568ba3
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x13c], 0x80
jae 0x564aa9
mov eax, dword [ebp - 0x14c]
mov cl, byte [ebp - 0x13c]
mov byte [eax], cl
mov dword [ebp - 0x280], 1
jmp 0x564ac5
mov edx, dword [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0056a9f0
add esp, 8
mov dword [ebp - 0x280], eax
movzx ecx, byte [ebp - 0x280]
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x148], eax
jmp 0x564aef
mov eax, dword [ebp - 0x148]
add eax, 0x28
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x11c]
ja 0x564b83
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00575d10
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0x80
jae 0x564b49
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x10c]
mov cl, byte [ebp - 0x124]
mov byte [eax], cl
mov dword [ebp - 0x280], 1
jmp 0x564b6b
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x10c]
push eax
call fcn.0056a9f0
add esp, 8
mov dword [ebp - 0x280], eax
movzx ecx, byte [ebp - 0x280]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], ecx
jmp 0x564ae0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x148], eax
jmp 0x564ba0
mov eax, dword [ebp - 0x148]
add eax, 0x28
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x11c]
ja 0x564bf7
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
mov eax, dword [ebp - 0x10c]
cdq
mov ecx, dword [ebp - 0x134]
sub ecx, eax
mov eax, dword [ebp - 0x130]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x10c]
push ecx
call fcn.00575f80
add esp, 0x10
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
jmp 0x564b91
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 0x410
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0x12c], 0
je 0x564c3e
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x12c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
or ecx, 0x4000
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x6c]
mov byte [eax + 0x1f], 1
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0
je 0x564c85
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.00573460
add esp, 8
mov dword [ebp - 0x24], eax
jmp 0x564c99
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x564cd2
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x88], 1
jle 0x564d43
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc8], 0
jne 0x564d27
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c8]
add ecx, 1
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x1c8], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c4]
mov edx, dword [ebp - 0x30]
add ecx, dword [edx + 0x1c8]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc8]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.0056ba70
add esp, 8
mov dword [ebp - 0x24], eax
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x14c], 0
jne 0x564e67
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x8c], 0
jle 0x564d9d
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 5
jmp 0x564e62
mov eax, dword [ebp - 0x148]
push eax
call fcn.00545e00
add esp, 4
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
add eax, 9
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00543630
add esp, 8
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x564e62
mov eax, dword [ebp - 0x140]
add eax, 8
mov ecx, dword [ebp - 0x140]
mov dword [ecx], eax
mov eax, dword [ebp - 0x144]
add eax, 1
push eax
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x140]
mov eax, dword [edx]
push eax
call fcn.0052c009
add esp, 0xc
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x564e2c
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1cc], 1
jmp 0x564e41
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c4]
add ecx, 1
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x1c4], ecx
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x1c0], ecx
jmp 0x56515a
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c0]
mov dword [ebp - 0x13c], ecx
jmp 0x564e91
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x13c], ecx
cmp dword [ebp - 0x13c], 0
je 0x564ec7
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx]
push edx
call fcn.00545e70
add esp, 8
test eax, eax
je 0x564ec7
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x134], eax
jmp 0x564e82
cmp dword [ebp - 0x13c], 0
jne 0x564efb
mov eax, dword [ebp - 0x148]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
mov dword [ebp - 0x24], 1
jmp 0x56515a
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x8c], 0
jg 0x564f1c
cmp dword [ebp - 0x14c], 2
jne 0x564f66
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x88], 1
jle 0x564f66
cmp dword [ebp - 0x14c], 2
jne 0x564f31
mov dword [ebp - 0x280], str.rollback
jmp 0x564f3b
mov dword [ebp - 0x280], str.release
mov eax, dword [ebp - 0x280]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
mov dword [ebp - 0x24], 5
jmp 0x56515a
mov eax, dword [ebp - 0x13c]
cmp dword [eax + 4], 0
jne 0x564f8c
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx + 0x1cc]
test edx, edx
je 0x564f8c
mov dword [ebp - 0x280], 1
jmp 0x564f96
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
je 0x565009
cmp dword [ebp - 0x14c], 1
jne 0x565009
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp + 8]
push eax
call fcn.0055a860
add esp, 4
cmp eax, 5
jne 0x564ff1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x60], ecx
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
mov dword [ebp - 0x24], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
jmp 0x568b69
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1cc], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x24], ecx
jmp 0x5650b2
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c4]
sub ecx, dword [ebp - 0x134]
sub ecx, 1
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], 0
jmp 0x56503c
mov eax, dword [ebp - 0x130]
add eax, 1
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [eax + 4]
jge 0x565084
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x130]
shl edx, 4
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0055bb80
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565082
jmp 0x568bd5
jmp 0x56502d
cmp dword [ebp - 0x14c], 2
jne 0x5650b2
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
and ecx, 0x10
je 0x5650b2
mov eax, dword [ebp - 0x30]
push eax
call fcn.00577160
add esp, 4
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.0057af50
add esp, 8
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c0]
cmp ecx, dword [ebp - 0x13c]
je 0x56510e
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c0]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1c0], edx
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c4]
sub ecx, 1
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x1c4], ecx
jmp 0x5650b2
cmp dword [ebp - 0x14c], 1
jne 0x56515a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx + 4]
mov dword [eax + 0x1c0], edx
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005431c0
add esp, 8
cmp dword [ebp - 0x164], 0
jne 0x56515a
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c4]
sub ecx, 1
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x1c4], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x14c], 0
je 0x565197
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x565197
mov dword [ebp - 0x280], 1
jmp 0x5651a1
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0
je 0x5651ef
cmp dword [ebp - 0x148], 0
je 0x5651ef
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x88], 1
jle 0x5651ef
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 5
jmp 0x56533b
cmp dword [ebp - 0x144], 0
je 0x565231
cmp dword [ebp - 0x148], 0
jne 0x565231
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x8c], 0
jle 0x565231
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 5
jmp 0x56533b
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1c]
cmp dword [ebp - 0x14c], ecx
je 0x5652da
cmp dword [ebp - 0x148], 0
je 0x565262
mov eax, dword [ebp - 0x30]
push eax
call fcn.005c0a30
add esp, 4
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 1
jmp 0x5652ae
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0x14c]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp + 8]
push eax
call fcn.0055a860
add esp, 4
cmp eax, 5
jne 0x5652ae
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x60], ecx
mov eax, 1
sub eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x1c], al
mov dword [ebp - 0x24], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
jmp 0x568b69
mov eax, dword [ebp - 0x30]
push eax
call fcn.005c0330
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x64], 0
jne 0x5652cc
mov dword [ebp - 0x24], 0x65
jmp 0x5652d3
mov dword [ebp - 0x24], 1
jmp 0x568b69
cmp dword [ebp - 0x14c], 0
jne 0x5652ef
mov dword [ebp - 0x280], str.cannot_start_a_transaction_within_a_transaction
jmp 0x56531a
cmp dword [ebp - 0x148], 0
je 0x565304
mov dword [ebp - 0x284], str.cannot_rollback___no_transaction_is_active
jmp 0x56530e
mov dword [ebp - 0x284], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp + 8]
add eax, 0x68
push eax
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 1
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
je 0x5653b0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.00551f10
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 5
jne 0x56539f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x60], ecx
mov dword [ebp - 0x24], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
jmp 0x568b69
cmp dword [ebp - 0x24], 0
je 0x5653b0
cmp dword [ebp - 0x24], 8
je 0x5653b0
jmp 0x568bd5
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x144], ecx
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x148]
shl edx, 4
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00557090
add esp, 0xc
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
add ecx, dword [edx + 8]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x60]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 4]
push edx
call fcn.00557120
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 1
jne 0x56548f
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
or ecx, 0x10
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], ecx
jmp 0x5654a9
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 2
jne 0x5654a9
mov eax, dword [ebp - 0x60]
mov cl, byte [eax]
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0xc]
mov byte [eax + 0x38], cl
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 1
jne 0x5654be
mov eax, dword [ebp - 0x30]
push eax
call fcn.00577160
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x5654ff
lea eax, [ebp - 0x14c]
push eax
push 1
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00557090
add esp, 0xc
jmp 0x565509
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [eax + 8]
je 0x565584
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
push str.database_schema_has_changed
mov eax, dword [ebp - 0x30]
push eax
call fcn.0055f600
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x68], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 0xc]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x14c]
je 0x565571
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0057af50
add esp, 8
mov eax, dword [ebp - 0x30]
push eax
call fcn.00577160
add esp, 4
mov dword [ebp - 0x24], 0x11
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x56561a
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x38]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x6f]
cmp edx, ecx
jge 0x565618
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x38]
mov byte [edx + 0x6f], al
jmp 0x565624
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x56566d
mov eax, dword [ebp - 0x144]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 2
jge 0x56566d
mov dword [ebp - 0x24], 0xb
jmp 0x568bd5
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
jne 0x5656b1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x148]
mov dl, byte [eax + 0x39]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + 6]
add ecx, 1
mov dword [ebp - 0x14c], ecx
jmp 0x5656c9
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x5656c9
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14c], ecx
push 1
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005771c0
add esp, 0x14
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jne 0x565700
jmp 0x568ba3
mov eax, dword [ebp - 0x134]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x138]
push edx
call fcn.0056bb20
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x148]
mov dword [eax + 0x40], ecx
cmp dword [ebp - 0x24], 0x10
jne 0x565762
mov eax, dword [ebp - 0x134]
mov dword [eax], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 1]
xor edx, edx
cmp ecx, 0xfffffffa
setne dl
mov eax, dword [ebp - 0x134]
mov byte [eax + 0x18], dl
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x18]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x134]
mov byte [edx + 0x19], cl
jmp case.0x5626e4.11
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005771c0
add esp, 0x14
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
jne 0x5657cb
jmp 0x568ba3
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x14c]
add eax, 0x28
push eax
mov ecx, dword [0x77e2f0]
push ecx
push 0x1f4
push 1
push 0
mov edx, dword [ebp - 0x30]
push edx
call fcn.005c19b0
add esp, 0x18
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x56581b
push 1
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00551f10
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5658e7
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x5658b9
push 2
lea eax, [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00572830
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5658ad
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
push 1
mov ecx, dword [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x28]
push eax
call fcn.0056bb20
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x40], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x40]
mov al, byte [eax + 0x39]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x18], 0
jmp 0x5658e7
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
push ecx
push 0
push 1
push 1
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x28]
push eax
call fcn.0056bb20
add esp, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x18], 1
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x18]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x14c]
mov byte [edx + 0x19], cl
jmp case.0x5626e4.11
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005771c0
add esp, 0x14
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
jne 0x565938
jmp 0x568ba3
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x15], 1
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx + 8]
mov byte [eax + 0x16], dl
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x18], 1
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x19], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0055a1c0
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov dword [eax + ecx*4], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x144]
cmp dword [eax], 0
je 0x565db5
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x565c17
mov eax, dword [ebp - 0x60]
push eax
call fcn.00562250
add esp, 4
mov eax, dword [ebp - 0x60]
push eax
call fcn.0055e440
add esp, 4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x565baf
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x1c]
and ecx, 8
jne 0x565a4f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
cmp dword [ebp - 0x11c], 0
jne 0x565b39
cmp dword [ebp - 0x118], 0x80000000
jne 0x565b39
fild qword [ebp - 0x11c]
mov eax, dword [ebp - 0x60]
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
je 0x565a92
mov eax, dword [ebp - 0x60]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x565b39
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x60]
fldz
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
jne 0x565ae5
cmp dword [ebp - 0x148], 0x7b
je 0x565abd
cmp dword [ebp - 0x148], 0x6d
jne 0x565ae3
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056c2e0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565ae3
jmp 0x568bd5
jmp 0x565b1d
cmp dword [ebp - 0x148], 0x46
je 0x565af7
cmp dword [ebp - 0x148], 0x37
jne 0x565b1d
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056c8f0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565b1d
jmp 0x568bd5
cmp dword [ebp - 0x14c], 0
je 0x565b32
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
cmp dword [ebp - 0x148], 0x46
je 0x565b4b
cmp dword [ebp - 0x148], 0x6d
jne 0x565b7e
fild qword [ebp - 0x11c]
mov eax, dword [ebp - 0x60]
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x565b7c
mov eax, dword [ebp - 0x11c]
add eax, 1
mov ecx, dword [ebp - 0x118]
adc ecx, 0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
jmp 0x565baf
fild qword [ebp - 0x11c]
mov eax, dword [ebp - 0x60]
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
jne 0x565baf
mov eax, dword [ebp - 0x11c]
sub eax, 1
mov ecx, dword [ebp - 0x118]
sbb ecx, 0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
lea eax, [ebp - 0x14c]
push eax
push 0
mov ecx, dword [ebp - 0x118]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
push 0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565be7
jmp 0x568bd5
cmp dword [ebp - 0x14c], 0
jne 0x565c12
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x118]
mov dword [eax + 0xc], edx
jmp 0x565cb8
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x13c], ecx
mov ax, word [ebp - 0x124]
mov word [ebp - 0x138], ax
cmp dword [ebp - 0x148], 0x7b
je 0x565c52
cmp dword [ebp - 0x148], 0x37
jne 0x565c5d
mov word [ebp - 0x136], 8
jmp 0x565c66
mov word [ebp - 0x136], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x12c], ecx
lea eax, [ebp - 0x14c]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x13c]
push ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [edx]
push eax
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565cae
jmp 0x568bd5
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x148], 0x6d
je 0x565ce1
cmp dword [ebp - 0x148], 0x7b
jne 0x565d3a
cmp dword [ebp - 0x14c], 0
jl 0x565cfc
cmp dword [ebp - 0x14c], 0
jne 0x565d2e
cmp dword [ebp - 0x148], 0x7b
jne 0x565d2e
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056d260
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565d22
jmp 0x568bd5
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 0
jmp 0x565d38
mov dword [ebp - 0x14c], 0
jmp 0x565d9e
cmp dword [ebp - 0x14c], 0
jg 0x565d55
cmp dword [ebp - 0x14c], 0
jne 0x565d87
cmp dword [ebp - 0x148], 0x46
jne 0x565d87
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056d5d0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x565d7b
jmp 0x568bd5
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 0
jmp 0x565d9e
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.0056d210
add esp, 4
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x565db3
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x565dc1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
cmp dword [eax], 0
je 0x565e1c
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x54]
push eax
call fcn.0055e440
add esp, 4
mov ecx, dword [ebp - 0x14c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x17], 1
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x148]
cmp dword [eax], 0
je 0x565f4c
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x565e72
mov edx, dword [ebp - 0x60]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x565e7c
mov dword [ebp - 0x280], 0
push 0x97
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x40]
push eax
call fcn.00576590
add esp, 0x14
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jne 0x565ebc
jmp 0x568ba3
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x80
jne 0x565ee1
mov eax, dword [ebp - 0x140]
movzx ecx, word [eax + 6]
or ecx, 0x10
mov edx, dword [ebp - 0x140]
mov word [edx + 6], cx
lea eax, [ebp - 0x144]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx]
push eax
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x140]
push eax
call fcn.00576890
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x565f23
jmp case.0x5626e4.11
xor eax, eax
cmp dword [ebp - 0x144], 0
sete al
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x148]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x148]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x80
jne 0x565f71
cmp dword [ebp - 0x14c], 0
je 0x565f6f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x565f86
cmp dword [ebp - 0x14c], 0
jne 0x565f86
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x148]
mov dword [eax + 0x58], 0
mov eax, dword [ebp - 0x148]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 0x40]
mov dx, word [ecx + 6]
mov word [ebp - 0x140], dx
mov word [ebp - 0x14c], 0
jmp 0x56600e
mov ax, word [ebp - 0x14c]
add ax, 1
mov word [ebp - 0x14c], ax
movzx eax, word [ebp - 0x14c]
movzx ecx, word [ebp - 0x140]
cmp eax, ecx
jge 0x566054
movzx eax, word [ebp - 0x14c]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x13c]
movzx edx, word [ecx + eax + 0x1c]
and edx, 1
je 0x566052
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x144], 0
jmp 0x566054
jmp 0x565ffc
cmp dword [ebp - 0x144], 0
je 0x566129
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x134], ecx
movzx eax, word [ebp - 0x140]
add eax, 1
mov word [ebp - 0x130], ax
mov word [ebp - 0x12e], 0x20
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x60]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov dword [ebp - 0x11c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x148]
add eax, 0x58
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x144]
push edx
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
movzx eax, word [ebp - 0x12e]
and eax, 0x20
jne 0x566107
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0x11c]
jne 0x566115
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x118]
jne 0x566115
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x566129
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x12c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x128]
mov dword [eax + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x566217
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x138], edx
lea eax, [ebp - 0x144]
push eax
push 0
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
push 0
mov eax, dword [ebp - 0x148]
push eax
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
xor eax, eax
cmp dword [ebp - 0x144], 0
sete al
mov ecx, dword [ebp - 0x14c]
mov byte [ecx + 0x11], al
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x17], 0
cmp dword [ebp - 0x144], 0
je 0x566206
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x58], ecx
jmp 0x566230
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x58], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ecx + 0x48]
mov dword [edx], eax
mov ecx, dword [ecx + 0x4c]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x48]
add ecx, 1
mov edx, dword [eax + 0x4c]
adc edx, 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x34]
mov eax, dword [esi + eax*4]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x144]
cmp dword [eax], 0
jne 0x5662e1
jmp 0x566679
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
jne 0x566515
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.0056bd60
add esp, 4
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
or eax, dword [ebp - 0x148]
jne 0x5663cb
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056c8f0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x566352
jmp 0x568bd5
cmp dword [ebp - 0x140], 0
je 0x566371
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x148], 0
jmp 0x5663cb
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.00557e60
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x14c], 0xffffffff
jne 0x5663ad
cmp dword [ebp - 0x148], 0x7fffffff
jne 0x5663ad
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x13], 1
jmp 0x5663cb
mov eax, dword [ebp - 0x14c]
add eax, 1
mov ecx, dword [ebp - 0x148]
adc ecx, 0
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xc], 0
je 0x5664ab
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x138]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
cmp dword [ecx], 0xffffffff
jne 0x566422
mov edx, dword [ebp - 0x280]
cmp dword [edx + 4], 0x7fffffff
je 0x566430
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x56643c
mov dword [ebp - 0x24], 0xd
jmp 0x568bd5
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x280]
jg 0x566494
jl 0x566477
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x284]
jae 0x566494
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 4], edx
cmp dword [ebp - 0x148], 0x7fffffff
jg 0x5664e2
jl 0x5664c2
cmp dword [ebp - 0x14c], 0xffffffff
jae 0x5664e2
mov eax, dword [ebp - 0x14c]
add eax, 1
mov ecx, dword [ebp - 0x148]
adc ecx, 0
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], ecx
jmp 0x5664f6
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x280]
push edx
mov eax, dword [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.0056bce0
add esp, 0xc
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x566658
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x14c], ecx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0
jne 0x5665ab
mov eax, dword [ebp - 0x14c]
and eax, 0xffffff
mov ecx, dword [ebp - 0x148]
and ecx, 0
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x284]
cmp edx, dword [ebp - 0x14c]
jne 0x5665ab
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x148]
jne 0x5665ab
mov eax, dword [ebp - 0x14c]
add eax, 1
mov ecx, dword [ebp - 0x148]
adc ecx, 0
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
jmp 0x5665e5
lea eax, [ebp - 0x14c]
push eax
push 8
call fcn.005256ff
add esp, 8
cmp dword [ebp - 0x13c], 5
jge 0x5665e5
mov eax, dword [ebp - 0x14c]
and eax, 0xffffff
mov ecx, dword [ebp - 0x148]
and ecx, 0
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
lea eax, [ebp - 0x140]
push eax
push 0
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
push 0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x64
jge 0x56663d
cmp dword [ebp - 0x24], 0
jne 0x56663d
cmp dword [ebp - 0x140], 0
je 0x566546
cmp dword [ebp - 0x24], 0
jne 0x566658
cmp dword [ebp - 0x140], 0
jne 0x566658
mov dword [ebp - 0x24], 0xd
jmp 0x568bd5
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 1
je 0x56671a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x56673a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ecx]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x566763
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x5668dc
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
jne 0x566799
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0x140]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
jne 0x5667e5
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 0x24]
jne 0x56684b
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 0x16]
test ecx, ecx
jne 0x566846
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xfffffbff
mov edx, dword [ebp - 0x14c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
or ecx, 0x1000
mov edx, dword [ebp - 0x14c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x24], 0
jmp 0x5668cd
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
add ecx, 2
push ecx
call fcn.00542c00
add esp, 4
mov edx, dword [ebp - 0x13c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x13c]
cmp dword [eax + 0x30], 0
jne 0x56687a
jmp 0x568ba3
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx + 0x30]
push edx
call fcn.0052c009
add esp, 0xc
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x2c]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x30]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x14], 0
jmp 0x5669a1
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x5668f9
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x280], eax
jmp 0x566903
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x566931
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x138], ecx
jmp 0x56693b
mov dword [ebp - 0x138], 0
push 0
push 0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax]
push ecx
call fcn.0056bce0
add esp, 0xc
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 3]
and edx, 8
push edx
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x144]
push eax
push 0
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx]
push edx
call fcn.0056d8b0
add esp, 0x24
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x13c]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x24], 0
jne 0x566a6e
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xb4], 0
je 0x566a6e
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x566a6e
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 4
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
mov dword [ebp - 0x128], ecx
mov esi, esp
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0xb0]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0xb4]
call edx
add esp, 0x18
cmp esi, esp
call fcn.0052a55b
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xb4], 0
je 0x566ac9
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x566ac9
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x144]
push eax
call fcn.00575aa0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x566ae6
jmp 0x568bd5
push 0
push 0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.0056bce0
add esp, 0xc
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
call fcn.00572390
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x24], 0
jne 0x566b9d
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xb4], 0
je 0x566b9d
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x566b9d
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x17c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x188], ecx
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x188]
push edx
mov eax, dword [ebp - 0x17c]
push eax
push 9
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0xb0]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xb4]
call ecx
add esp, 0x18
cmp esi, esp
call fcn.0052a55b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x566bb7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
je 0x566bd8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0055c850
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x74], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x14c]
push eax
call fcn.00575aa0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x566c39
jmp 0x568bd5
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x566ca4
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.00557e60
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x48]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov ecx, dword [ebp - 0x138]
cmp ecx, dword [ebp - 0x280]
jl 0x566c96
jg 0x566c91
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x284]
jbe 0x566c96
jmp 0x568b82
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x144], eax
jmp 0x566cd0
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0056bda0
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [eax + 0x48]
jbe 0x566cd0
jmp 0x568b82
push 0
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00558f50
add esp, 0xc
test eax, eax
je 0x566cee
jmp 0x568ba3
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 0x10
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x566d43
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x144]
push edx
push 0
mov eax, dword [ebp - 0x148]
push eax
call fcn.00558040
add esp, 0x10
mov dword [ebp - 0x24], eax
jmp 0x566d65
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x144]
push edx
push 0
mov eax, dword [ebp - 0x148]
push eax
call fcn.0056be00
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov byte [eax + 0x1f], 1
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x566d9e
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x17]
test ecx, ecx
je 0x566dc9
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x140], edx
jmp 0x566ef1
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x566df4
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x140], edx
jmp 0x566ef1
mov eax, dword [ebp - 0x14c]
cmp dword [eax + 0x50], 0
je 0x566e91
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax]
mov dword [ebp - 0x138], ecx
xor eax, eax
je 0x566e2c
jmp 0x568bce
mov esi, esp
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 0x30]
call ecx
add esp, 8
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x13c]
mov dword [eax + 8], 0
xor eax, eax
je 0x566e8f
jmp 0x568bce
jmp 0x566ef1
mov eax, dword [ebp - 0x14c]
push eax
call fcn.00575aa0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x566eae
jmp 0x568bd5
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [eax + 0x11]
test ecx, ecx
je 0x566ed6
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x140], edx
jmp 0x566ef1
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx]
push edx
call fcn.00557e60
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x14c]
cmp dword [eax], 0
je 0x566f66
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
push ecx
call fcn.00557df0
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
jne 0x566fa3
mov dword [ebp - 0x144], 1
jmp 0x566fbc
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0056c8f0
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov cl, byte [ebp - 0x144]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
jle 0x56700a
cmp dword [ebp - 0x144], 0
je 0x56700a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xbc], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x5670a1
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0056c2e0
add esp, 8
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x144], 0
sete al
mov ecx, dword [ebp - 0x14c]
mov byte [ecx + 0x12], al
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x17], 0
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x11], 0
jmp 0x5670ab
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x14c]
mov cl, byte [ebp - 0x144]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0x144], 0
je 0x5670cf
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xd0], 0
je 0x5670e5
jmp 0x568c1a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
jne 0x567108
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
jne 0x56712e
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x14], 1
jmp case.0x5626e4.11
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x6a
jne 0x567161
lea edx, [ebp - 0x144]
push edx
mov eax, dword [ebp - 0x148]
push eax
call fcn.0056d260
add esp, 8
mov dword [ebp - 0x280], eax
jmp 0x56717d
lea ecx, [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0056d5d0
add esp, 8
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov cl, byte [ebp - 0x144]
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
cmp dword [ebp - 0x144], 0
jne 0x5671e7
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x5671e7
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0xb4]
add eax, 1
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 3]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0xb4], eax
mov eax, dword [ebp - 0x14c]
mov byte [eax + 0x11], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x5672eb
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x567249
mov edx, dword [ebp - 0x54]
push edx
call fcn.005594b0
add esp, 4
mov dword [ebp - 0x280], eax
jmp 0x567253
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5672eb
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x56729b
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x280], eax
jmp 0x5672a5
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x280]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x77d566
mov eax, dword [ebp - 0x144]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0056d8b0
add esp, 0x24
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
je 0x5673af
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x18]
mov cx, word [eax + 0xc]
mov word [ebp - 0x138], cx
mov word [ebp - 0x136], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x12c], ecx
lea eax, [ebp - 0x144]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x13c]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0056cae0
add esp, 0x18
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5673a2
cmp dword [ebp - 0x144], 0
jne 0x5673a2
mov eax, dword [ebp - 0x148]
push eax
call fcn.00572390
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov dword [eax + 0x5c], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
je 0x56745e
mov eax, dword [ebp - 0x148]
push eax
call fcn.00575aa0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x5673fd
jmp 0x568bd5
mov eax, dword [ebp - 0x148]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
jne 0x56745e
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00576d30
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x567433
jmp 0x568bd5
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140]
mov dword [eax + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
cmp dword [eax], 0
je 0x567537
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
mov cx, word [eax + 0x10]
mov word [ebp - 0x140], cx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x5674ba
mov word [ebp - 0x13e], 0xc
jmp 0x5674c3
mov word [ebp - 0x13e], 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x134], ecx
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.00576fe0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x29
jne 0x567513
mov eax, dword [ebp - 0x148]
neg eax
mov dword [ebp - 0x148], eax
jmp 0x567522
mov eax, dword [ebp - 0x148]
add eax, 1
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jle 0x567537
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x84]
mov dword [ebp - 0x144], ecx
jmp 0x567566
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 0
je 0x5675aa
mov eax, dword [ebp - 0x144]
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x5675a8
mov eax, dword [ebp - 0x144]
movzx ecx, byte [eax + 0x70]
cmp ecx, 2
jge 0x5675a8
mov eax, dword [ebp - 0x144]
cmp dword [eax + 0x60], 0
jl 0x5675a8
mov eax, dword [ebp - 0x148]
add eax, 1
mov dword [ebp - 0x148], eax
jmp 0x567557
cmp dword [ebp - 0x148], 1
jle 0x5675c6
mov dword [ebp - 0x24], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x38], 2
jmp 0x56765a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x140], ecx
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00573060
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 0x24], 0
jne 0x56765a
cmp dword [ebp - 0x14c], 0
je 0x56765a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx + 8]
push eax
call fcn.0057b9a0
add esp, 0xc
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x14c]
and ecx, edx
push ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 8]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00572ce0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xc], 0
je 0x5676fb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
add ecx, dword [ebp - 0x14c]
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], ecx
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xc], 0
jle 0x5676fb
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x4c]
mov eax, dword [ebp - 0x14c]
cdq
add eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4c]
mov dword [edx + esi], eax
mov dword [edx + esi + 4], ecx
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
add ecx, dword [edx + 8]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
cmp ecx, 0x35
jne 0x567736
mov dword [ebp - 0x148], 5
jmp 0x567740
mov dword [ebp - 0x148], 2
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 4]
push eax
call fcn.00572830
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbf00
or ecx, 4
mov edx, dword [ebp - 0x6c]
mov word [edx + 0x1c], cx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x30]
push eax
call fcn.0056b780
add esp, 4
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
jne 0x5677cf
mov eax, dword [ebp - 0x14c]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0xc]
movzx ecx, word [eax + 0x3a]
and ecx, 1
je 0x5678cc
mov eax, 1
test eax, eax
je 0x5677ed
cmp dword [ebp - 0x14c], 1
jne 0x5677ed
mov dword [ebp - 0x280], str.sqlite_temp_master
jmp 0x5677f7
mov dword [ebp - 0x280], str.sqlite_master
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp + 8]
add eax, 0x68
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x14c]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax]
push eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0055b690
add esp, 0x14
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jne 0x56786e
mov dword [ebp - 0x24], 7
jmp 0x5678cc
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x78], 1
mov dword [ebp - 0x134], 0
push 0
lea eax, [ebp - 0x140]
push eax
push fcn.00580440
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00527f31
add esp, 0x14
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5678b2
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x78], 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.0056b8f0
add esp, 4
cmp dword [ebp - 0x24], 7
jne 0x5678e3
jmp 0x568ba3
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00579400
add esp, 8
mov dword [ebp - 0x24], eax
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0057b200
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0057a710
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00583860
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00543630
add esp, 8
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x56799a
jmp 0x568ba3
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x144], 0
jmp 0x5679dc
mov eax, dword [ebp - 0x144]
add eax, 1
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x14c]
jge 0x567a10
mov eax, dword [ebp - 0x144]
imul eax, eax, 0x28
add eax, dword [ebp - 0x48]
push eax
call fcn.0055e440
add esp, 4
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x148]
mov dword [edx + ecx*4], eax
jmp 0x5679cd
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov dword [ecx + eax*4], 0
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 3]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.005736c0
add esp, 0x14
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x140]
cdq
mov ecx, dword [ebp - 0x138]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x138]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.00559930
add esp, 4
cmp dword [ebp - 0x140], 0
jne 0x567aaf
jmp 0x567adb
cmp dword [ebp - 0x13c], 0
jne 0x567abf
jmp 0x568ba3
push fcn.005271fd
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00558ad0
add esp, 0x14
movzx eax, byte [ebp - 0x39]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0055d4d0
add esp, 8
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x567b4d
mov eax, dword [ebp - 0x14c]
push eax
call fcn.005750d0
add esp, 4
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x567b4d
jmp 0x568ba3
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
push ecx
call fcn.0056ad00
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xd0], 0
je 0x567b81
jmp 0x568c1a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x567bd3
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx]
push edx
call fcn.0056ae80
add esp, 8
test eax, eax
jne 0x567bf0
mov eax, dword [ebp - 0x14c]
push eax
call fcn.00559930
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x567c0a
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.0055edb0
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x567c44
mov eax, dword [ebp - 0x48]
push eax
call fcn.005750d0
add esp, 4
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x567c44
jmp 0x568ba3
cmp dword [ebp - 0x14c], 0
je 0x567cb0
cmp dword [ebp - 0x14c], 0
jl 0x567c67
mov eax, dword [ebp - 0x14c]
and eax, 0xf
mov dword [ebp - 0x280], eax
jmp 0x567c71
mov dword [ebp - 0x280], 0xff
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov cl, byte [ebp - 0x280]
push ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
push eax
call fcn.0056b460
add esp, 0x10
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x567cb0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
cmp dword [ebp - 0x14c], 0
jl 0x567cd1
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
push ecx
call fcn.0056ad00
add esp, 0xc
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x54]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [eax + 0x58]
jl 0x567d42
mov eax, dword [ebp - 0x14c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x14c]
add eax, 1
shl eax, 4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.005591e0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 0
jne 0x567d42
jmp 0x568ba3
mov eax, dword [ebp - 0x14c]
shl eax, 4
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x5c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x74]
mov dword [eax + 8], edx
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x54], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
shl ecx, 4
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x5c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x74], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x54]
push eax
call fcn.00574f80
add esp, 4
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x284]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jg 0x567e2d
jl 0x567e1d
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x284]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jae 0x567e2d
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
cmp dword [ecx + 4], 0
jl 0x567e60
jg 0x567e54
mov edx, dword [ebp - 0x280]
cmp dword [edx], 0
jbe 0x567e60
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
cmp dword [ecx + 4], 0
jg 0x567e93
jl 0x567e87
mov edx, dword [ebp - 0x280]
cmp dword [edx], 0
jae 0x567e93
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x280]
mov eax, dword [ecx]
or eax, dword [edx + 4]
jne 0x567ec0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x148], 0
jmp 0x567f1d
mov eax, dword [ebp - 0x148]
add eax, 1
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x140]
add ecx, 0x28
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x14c]
jge 0x567f51
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x140]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x140]
push eax
call fcn.005621b0
add esp, 4
jmp 0x567eff
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0x144]
mov dword [edx + 0x18], ecx
mov word [ebp - 0x118], 1
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x567ff2
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x104], ecx
mov esi, esp
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
cmp esi, esp
call fcn.0052a55b
cmp dword [ebp - 0x108], 0
je 0x568058
lea eax, [ebp - 0x134]
push eax
call fcn.005257bd
add esp, 4
push eax
push 0x781bf4
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x134]
push eax
call fcn.005595a0
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.00559800
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x5680c8
mov eax, dword [ebp - 0x14c]
push eax
call fcn.005257bd
add esp, 4
push eax
push 0x781bf4
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
movzx eax, byte [ebp - 0x39]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.0055d4d0
add esp, 8
mov eax, dword [ebp - 0x14c]
push eax
call fcn.00575250
add esp, 4
test eax, eax
je 0x5680f4
jmp 0x568b82
jmp case.0x5626e4.11
xor eax, eax
je 0x568102
jmp 0x568bce
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.00583a00
add esp, 8
mov dword [ebp - 0x24], eax
xor eax, eax
je 0x568121
jmp 0x568bce
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0056b9b0
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x65
jne 0x56816a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
jne 0x568186
mov eax, dword [ebp - 0x30]
push eax
call fcn.00577160
add esp, 4
jmp 0x56818d
mov eax, dword [ebp + 8]
mov byte [eax + 0x6e], 1
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov cl, byte [eax + 0xc]
mov byte [ebp - 0x191], cl
movzx eax, byte [ebp - 0x191]
test eax, eax
jne 0x5681b7
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
and ecx, 0x4000
jne 0x568228
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a0], ecx
mov al, byte [ebp - 0x191]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x1a0]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00574c90
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
and eax, 0xff
cmp eax, 6
jne 0x568228
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x1ac]
push eax
push str.database_table_is_locked:__s
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00585a00
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x14c], 0
je 0x56828d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax + 8]
mov dword [ecx + 8], 0
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
add eax, 0x68
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.00584bb0
add esp, 0x10
mov dword [ebp - 0x24], eax
jmp case.0x5626e4.11
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 2
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00585610
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 0
jmp case.0x5626e4.11
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
mov dword [ebp - 0x140], ecx
xor eax, eax
je 0x568325
jmp 0x568bce
mov esi, esp
lea eax, [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x140]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x144]
mov dword [eax + 8], 0
xor eax, eax
je 0x568385
jmp 0x568bce
cmp dword [ebp - 0x24], 0
jne 0x56840a
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005771c0
add esp, 0x14
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x5683e5
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x148]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x14c]
mov eax, dword [ecx]
mov dword [edx + 0x54], eax
jmp 0x56840a
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1e], 1
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x140]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
cmp esi, esp
call fcn.0052a55b
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
add eax, 0x28
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax]
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0
jmp 0x5684c0
mov eax, dword [ebp - 0x128]
add eax, 1
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x14c]
jge 0x568509
mov eax, dword [ebp - 0x128]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ecx + eax*4]
push edx
call fcn.005621b0
add esp, 4
jmp 0x5684b1
xor eax, eax
je 0x568512
jmp 0x568bce
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 1
mov esi, esp
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x134]
mov dword [eax + 8], 0
cmp dword [ebp - 0x24], 0
jne 0x5685b6
mov esi, esp
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x12c], eax
xor eax, eax
je 0x5685bf
jmp 0x568bce
cmp dword [ebp - 0x12c], 0
je 0x5685d4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x14], 0
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1b8], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x1b8]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x56862f
mov eax, dword [ebp - 0x144]
push eax
call fcn.00559930
add esp, 4
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
push 0x40
push 0
lea eax, [ebp - 0x13c]
push eax
call fcn.00523260
add esp, 0xc
mov eax, dword [ebp - 0x144]
push eax
lea ecx, [ebp - 0x134]
push ecx
call fcn.00561f00
add esp, 8
movzx eax, word [ebp - 0x118]
and eax, 0xffffbf00
or eax, 1
mov word [ebp - 0x118], ax
xor eax, eax
je 0x568696
jmp 0x568bce
mov esi, esp
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], 0
cmp dword [ebp - 0x108], 0
je 0x568709
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 0x39]
push eax
lea ecx, [ebp - 0x134]
push ecx
call fcn.0055d4d0
add esp, 8
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.00561f00
add esp, 8
xor eax, eax
je 0x56873c
jmp 0x568bce
mov eax, dword [ebp - 0x144]
push eax
call fcn.00575250
add esp, 4
test eax, eax
je 0x568754
jmp 0x568b82
jmp case.0x5626e4.11
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
je 0x56878b
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
xor eax, eax
je 0x5687b3
jmp 0x568bce
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 1
mov esi, esp
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], 0
cmp dword [ebp - 0x24], 0
jne 0x568841
mov esi, esp
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x144], eax
xor eax, eax
je 0x56884a
jmp 0x568bce
cmp dword [ebp - 0x144], 0
jne 0x56885f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x148], ecx
xor eax, eax
je 0x568891
jmp 0x568bce
mov esi, esp
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], 0
xor eax, eax
je 0x5688f6
jmp 0x568bce
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x34], 0
je 0x568a5d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x140], 0
jmp 0x568970
mov eax, dword [ebp - 0x140]
add eax, 1
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x144]
jge 0x5689b3
mov eax, dword [ebp - 0x130]
push eax
call fcn.005621b0
add esp, 4
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x130]
add eax, 0x28
mov dword [ebp - 0x130], eax
jmp 0x568961
xor eax, eax
je 0x5689bc
jmp 0x568bce
mov esi, esp
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x144]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x148]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
cmp esi, esp
call fcn.0052a55b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.005431c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x68], edx
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], 0
xor eax, eax
je 0x568a2a
jmp 0x568bce
cmp dword [ebp - 0x24], 0
jne 0x568a4e
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
je 0x568a4e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0x138]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], ecx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
shl eax, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.005571f0
add esp, 4
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.0054b430
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x568ac7
mov eax, dword [ebp - 0x6c]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0x148]
cdq
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5626e4.11
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
je 0x568ae0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x280], edx
jmp 0x568aef
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 0
je case.0x5626e4.11
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x90], 0
je case.0x5626e4.11
mov esi, esp
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x90]
call ecx
add esp, 8
cmp esi, esp
call fcn.0052a55b
jmp 0x562507
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.0055a860
add esp, 4
cmp dword [ebp - 0x24], 0xc0a
jne 0x568b62
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1e], 1
mov dword [ebp - 0x24], 1
mov eax, dword [ebp + 8]
add eax, 0x88
push eax
call fcn.0055ad00
add esp, 4
mov eax, dword [ebp - 0x24]
jmp 0x568c54
push str.string_or_blob_too_big
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 0x12
jmp 0x568b3d
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1e], 1
push 0x77d138
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x68
push ecx
call fcn.0055ff00
add esp, 0xc
mov dword [ebp - 0x24], 7
jmp 0x568b3d
mov dword [ebp - 0x24], 0x15
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x568be7
mov dword [ebp - 0x24], 7
cmp dword [ebp - 0x24], 0xc0a
je 0x568c15
mov eax, dword [ebp - 0x24]
push eax
call fcn.005c0bb0
add esp, 4
push eax
push 0x781bf4
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
jmp 0x568b3d
mov dword [ebp - 0x24], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x64], ecx
mov eax, dword [ebp - 0x24]
push eax
call fcn.005c0bb0
add esp, 4
push eax
push 0x781bf4
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.0055ff00
add esp, 0x10
jmp 0x568b3d
push edx
mov ecx, ebp
push eax
lea edx, [0x568c84]
call fcn.0052640b
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005287fb
add esp, 0x288
cmp ebp, esp
call fcn.0052a55b
mov esp, ebp
pop ebp
ret