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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x5e632c]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov dword [ebp - 0xe0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 8], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov byte [ebp - 0xf6], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov cl, byte [eax + 0x4d]
mov byte [ebp - 0xf5], cl
mov dword [ebp - 0xe4], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x110], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00506800
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 7
jne 0x5556c3
jmp 0x55d747
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b4], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x5556f5
jmp 0x55d7b7
mov ecx, dword [ebp - 4]
xor edx, edx
cmp dword [ecx + 0x114], 0
setne dl
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xe0], ecx
jmp 0x555727
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 8], 0
jne 0x55d683
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x38]
test ecx, ecx
je 0x555741
jmp 0x55d747
mov edx, dword [ebp - 0xe0]
imul edx, edx, 0x14
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0xe8], 0
je 0x5557bc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0xe4]
jne 0x5557ad
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x118]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x114]
call edx
add esp, 4
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x5557a3
mov dword [ebp - 8], 9
jmp 0x55d683
mov dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 2]
and edx, 2
je 0x55580f
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0x2460
je 0x555803
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.00508df0
add esp, 4
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], 4
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x14c]
sub edx, 1
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 0x93
ja case.default.0x555843
mov eax, dword [ebp - 0x14c]
jmp dword [eax*4 + 0x55d800]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xe0], 0
je 0x55585b
jmp 0x55d7b7
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov word [eax + 0x1c], 4
mov eax, dword [ebp - 0xe0]
cdq
mov ecx, dword [ebp - 0x108]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe0], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov word [ecx + 0x1c], 4
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
cdq
mov ecx, dword [ebp - 0x108]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 1
jne case.0x555843.5
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 4], 0
jne 0x555a47
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa8], 0
je 0x555a47
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 4]
mov dword [edx + 0xa8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f3c50
add esp, 8
mov edx, dword [ebp - 0x11c]
push edx
call fcn.004f3ec0
add esp, 4
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x110], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x100]
cmp dword [eax + 8], 4
jne 0x555a2a
mov ecx, dword [ebp - 0xe0]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x104], edx
jmp case.default.0x555843
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x100]
mov dl, byte [ecx + 8]
mov byte [eax + 0x60], dl
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x10], 0
je 0x555ad3
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
push 0x5e9cc0
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0x10
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
push str.abort_at__d_in___s_:__s
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
call fcn.00539590
add esp, 0x14
jmp 0x555b04
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 0
je 0x555b04
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
push str.constraint_failed_at__d_in___s_
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
call fcn.00539590
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.00552620
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x555b2b
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
jmp 0x555b3e
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 8], eax
jmp 0x55d6fa
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xec]
mov edx, dword [eax]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 4]
mov dword [ecx + 0x14], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], 8
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xec]
fld qword [eax]
fstp qword [ecx + 8]
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov byte [edx], 9
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004f7640
add esp, 4
mov edx, dword [ebp - 0x100]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0xf5]
cmp eax, 1
je 0x555cb7
push 0
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.0051c000
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jne 0x555c03
jmp 0x55d723
movzx ecx, byte [ebp - 0xf5]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.0051c2d0
add esp, 8
test eax, eax
je 0x555c23
jmp 0x55d747
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
or edx, 0x800
mov eax, dword [ebp - 0xec]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
and edx, 0xfffffbff
mov eax, dword [ebp - 0xec]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x100]
movsx edx, byte [ecx + 1]
cmp edx, 0xffffffff
jne 0x555c89
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.005038d0
add esp, 8
mov eax, dword [ebp - 0x100]
mov byte [eax + 1], 0xff
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x50]
jle case.0x555843.8
jmp 0x55d723
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], 0xa02
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0xec]
mov al, byte [ebp - 0xf5]
mov byte [edx + 0x1f], al
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x100]
mov eax, dword [ecx + 0xc]
sub eax, dword [edx + 8]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
neg edx
sbb edx, edx
and edx, 0x100
add edx, 1
mov word [ebp - 0xd4], dx
mov eax, dword [ebp - 0xec]
mov cx, word [ebp - 0xd4]
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xd8], 0
jle 0x555db2
mov edx, dword [ebp - 0xec]
add edx, 0x28
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0x2460
je 0x555d90
mov edx, dword [ebp - 0xec]
push edx
call fcn.00508df0
add esp, 4
mov eax, dword [ebp - 0xec]
mov cx, word [ebp - 0xd4]
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xd8]
sub edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x555d57
jmp case.default.0x555843
push 0
push 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.0051c000
add esp, 0x14
mov edx, dword [ebp - 0xec]
mov al, byte [ebp - 0xf5]
mov byte [edx + 0x1f], al
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
sub edx, 1
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x48]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004f42b0
add esp, 4
test eax, eax
je 0x555e25
jmp 0x55d723
push 0x800
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.0050c040
add esp, 0xc
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0xcc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd4]
sub ecx, 1
mov dword [ebp - 0xd4], ecx
test eax, eax
je 0x555f19
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.0050f570
add esp, 8
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x108]
add eax, 0x28
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0xec]
add ecx, 0x28
mov dword [ebp - 0xec], ecx
jmp 0x555e9f
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, 1
test edx, edx
je 0x555fec
push 0x1000
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.0050c040
add esp, 0xc
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0x1000
je 0x555fae
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.005181a0
add esp, 4
test eax, eax
je 0x555fae
jmp 0x55d747
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
sub eax, 1
mov dword [ebp - 0xd8], eax
test edx, edx
jne 0x555fc9
jmp 0x555fec
mov ecx, dword [ebp - 0xec]
add ecx, 0x28
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x108]
add edx, 0x28
mov dword [ebp - 0x108], edx
jmp 0x555f5d
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xec], eax
push 0x1000
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.0050c040
add esp, 0xc
jmp case.default.0x555843
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.005128d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55605d
jmp case.default.0x555843
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.00540510
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x556079
jmp case.default.0x555843
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x54]
add eax, 2
or eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x54], eax
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], 0
jmp 0x5560ca
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd4]
cmp eax, dword [edx + 8]
jge 0x55614c
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xd8]
movzx eax, word [edx + ecx + 0x1c]
and eax, 0x1000
je 0x556117
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
push ecx
call fcn.005181a0
add esp, 4
test eax, eax
je 0x556117
jmp 0x55d747
mov edx, dword [ebp - 0xd4]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd8]
push edx
call fcn.00518080
add esp, 4
mov eax, dword [ebp - 0xd4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
push eax
call fcn.004f3850
add esp, 4
jmp 0x5560bb
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x38]
test edx, edx
je 0x55615c
jmp 0x55d747
mov eax, dword [ebp - 0xe0]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
mov dword [ebp - 8], 0x64
jmp 0x55d6fa
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
mov ecx, dword [ebp - 0xf4]
movzx edx, word [ecx + 0x1c]
or eax, edx
and eax, 1
je 0x5561ee
mov eax, dword [ebp - 0xec]
push eax
call fcn.00508d70
add esp, 4
jmp case.default.0x555843
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x556217
mov eax, dword [ebp - 0x108]
push eax
call fcn.00518100
add esp, 4
mov dword [ebp - 0x150], eax
jmp 0x556221
mov dword [ebp - 0x150], 0
cmp dword [ebp - 0x150], 0
jne 0x556266
mov ecx, dword [ebp - 0xf4]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x556253
mov eax, dword [ebp - 0xf4]
push eax
call fcn.00518100
add esp, 4
mov dword [ebp - 0x154], eax
jmp 0x55625d
mov dword [ebp - 0x154], 0
cmp dword [ebp - 0x154], 0
je 0x55626b
jmp 0x55d747
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0x12
jne 0x55629a
movzx eax, byte [ebp - 0xf5]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00520b00
add esp, 8
test eax, eax
je 0x55629a
jmp 0x55d747
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 0x1c]
and eax, 0x12
jne 0x5562c9
movzx ecx, byte [ebp - 0xf5]
push ecx
mov edx, dword [ebp - 0xf4]
push edx
call fcn.00520b00
add esp, 8
test eax, eax
je 0x5562c9
jmp 0x55d747
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xf4]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x158]
jl 0x55631e
jg 0x556319
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x15c]
jbe 0x55631e
jmp 0x55d723
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbe00
or eax, 2
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xec]
xor eax, eax
cmp edx, dword [ebp - 0xf4]
sete al
push eax
mov ecx, dword [ebp - 0xd8]
add ecx, 2
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00512da0
add esp, 0xc
test eax, eax
je 0x55636e
jmp 0x55d747
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0xf4]
je 0x5563a2
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
push eax
call fcn.004bb670
add esp, 0xc
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xf4]
add eax, dword [ecx + 0x18]
push eax
call fcn.004bb670
add esp, 0xc
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 4]
mov byte [edx + ecx], 0
mov edx, dword [ebp - 0xd8]
add edx, 1
mov eax, dword [ebp - 0xd4]
adc eax, 0
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx + 4]
mov byte [edx + eax], 0
mov ecx, dword [ebp - 0xec]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0xec]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0xec]
mov cl, byte [ebp - 0xf5]
mov byte [eax + 0x1f], cl
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00501dc0
add esp, 4
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.00501dc0
add esp, 4
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 0x1c]
or edx, ecx
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp - 0xd4]
and edx, 1
je 0x5564d2
jmp 0x5568d0
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 0x1c]
and ecx, eax
and ecx, 4
je 0x5566ec
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xd8], 1
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x160]
sub eax, 0x56
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 3
ja case.default.0x556559
mov ecx, dword [ebp - 0x160]
jmp dword [ecx*4 + 0x55da50]
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.004f65b0
add esp, 0xc
test eax, eax
je 0x556586
jmp 0x5566f3
jmp 0x5566b3
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.004fe8e0
add esp, 0xc
test eax, eax
je 0x5565b1
jmp 0x5566f3
jmp 0x5566b3
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.004fe780
add esp, 0xc
test eax, eax
je 0x5565dc
jmp 0x5566f3
jmp 0x5566b3
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x5565f4
jmp 0x5568d0
mov eax, dword [ebp - 0xd0]
and eax, dword [ebp - 0xcc]
cmp eax, 0xffffffff
jne 0x55661f
cmp dword [ebp - 0xc8], 0
jne 0x55661f
cmp dword [ebp - 0xc4], 0x80000000
jne 0x55661f
jmp 0x5566f3
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004cc1b0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x5566b3
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x556661
jmp 0x5568d0
mov eax, dword [ebp - 0xd0]
and eax, dword [ebp - 0xcc]
cmp eax, 0xffffffff
jne 0x556686
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004cc260
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], ax
jmp 0x5568cb
mov byte [ebp - 0xd8], 0
mov edx, dword [ebp - 0x108]
push edx
call fcn.004fc880
add esp, 4
fstp qword [ebp - 0xc0]
mov eax, dword [ebp - 0xf4]
push eax
call fcn.004fc880
add esp, 4
fstp qword [ebp - 0xb8]
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x164]
sub eax, 0x56
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 3
ja case.default.0x55674a
mov ecx, dword [ebp - 0x164]
jmp dword [ecx*4 + 0x55da60]
fld qword [ebp - 0xb8]
fadd qword [ebp - 0xc0]
fstp qword [ebp - 0xb8]
jmp 0x556860
fld qword [ebp - 0xb8]
fsub qword [ebp - 0xc0]
fstp qword [ebp - 0xb8]
jmp 0x556860
fld qword [ebp - 0xb8]
fmul qword [ebp - 0xc0]
fstp qword [ebp - 0xb8]
jmp 0x556860
fldz
fcomp qword [ebp - 0xc0]
fnstsw ax
test ah, 0x44
jp 0x5567aa
jmp 0x5568d0
fld qword [ebp - 0xb8]
fdiv qword [ebp - 0xc0]
fstp qword [ebp - 0xb8]
jmp 0x556860
fld qword [ebp - 0xc0]
call fcn.005970d6
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
fld qword [ebp - 0xb8]
call fcn.005970d6
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
jne 0x556802
jmp 0x5568d0
mov eax, dword [ebp - 0xd0]
and eax, dword [ebp - 0xcc]
cmp eax, 0xffffffff
jne 0x556827
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.004cc260
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], edx
fild qword [ebp - 0x16c]
fstp qword [ebp - 0xb8]
sub esp, 8
fld qword [ebp - 0xb8]
fstp qword [esp]
call fcn.004f7680
add esp, 8
test eax, eax
je 0x55687a
jmp 0x5568d0
mov edx, dword [ebp - 0xec]
fld qword [ebp - 0xb8]
fstp qword [edx + 8]
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 8
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd4]
and eax, 8
jne 0x5568cb
movsx ecx, byte [ebp - 0xd8]
test ecx, ecx
jne 0x5568cb
mov edx, dword [ebp - 0xec]
push edx
call fcn.004fc7f0
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0xec]
push eax
call fcn.00508d70
add esp, 4
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 4], 0
je 0x55690f
push 0
push 0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
push eax
call fcn.0050f680
add esp, 0xc
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], 0
jmp 0x55698a
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x28
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0x8c]
jge 0x5569e8
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xd4]
movzx ecx, word [eax + 0x1c]
and ecx, 0x1000
je 0x5569d7
mov edx, dword [ebp - 0xd4]
push edx
call fcn.005181a0
add esp, 4
test eax, eax
je 0x5569d7
jmp 0x55d747
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f3850
add esp, 4
jmp 0x55696c
mov ecx, dword [ebp - 0x100]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffb
jne 0x556a12
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], 0
jmp 0x556a2f
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov word [ebp - 0xac], 1
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xec]
push ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.0050f570
add esp, 8
movzx eax, word [ebp - 0xac]
and eax, 0xffffbe00
or eax, 1
mov word [ebp - 0xac], ax
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 3]
and edx, 8
je 0x556aa9
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x110]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x10c]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x110], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0xcc], 0
je 0x556b31
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004f3e30
add esp, 8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x100]
mov byte [eax + 1], 0xf9
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x38]
test edx, edx
je 0x556b50
lea eax, [ebp - 0xc8]
push eax
call fcn.0050c0b0
add esp, 4
jmp 0x55d747
cmp dword [ebp - 0x98], 0
je 0x556b8a
lea ecx, [ebp - 0xc8]
push ecx
call fcn.00526d60
add esp, 4
push eax
push 0x5e9cfc
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0x10
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 8], ecx
movzx edx, byte [ebp - 0xf5]
push edx
lea eax, [ebp - 0xc8]
push eax
call fcn.0051c2d0
add esp, 8
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.0050f570
add esp, 8
mov eax, dword [ebp - 0xec]
push eax
call fcn.004f42b0
add esp, 4
test eax, eax
je 0x556bcf
jmp 0x55d723
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x556c4b
mov edx, dword [ebp - 0xec]
push edx
call fcn.00508d70
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0xf4]
push eax
call fcn.00502120
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00502120
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0x100]
mov al, byte [edx]
mov byte [ebp - 0xc0], al
movzx ecx, byte [ebp - 0xc0]
cmp ecx, 0x52
jne 0x556cc4
mov edx, dword [ebp - 0xd8]
and edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
and eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
jmp 0x556ecb
movzx ecx, byte [ebp - 0xc0]
cmp ecx, 0x53
jne 0x556cf9
mov edx, dword [ebp - 0xd8]
or edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
or eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
jmp 0x556ecb
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xc4]
je 0x556ecb
cmp dword [ebp - 0xc4], 0
jg 0x556d98
jl 0x556d23
cmp dword [ebp - 0xc8], 0
jae 0x556d98
movzx edx, byte [ebp - 0xc0]
mov eax, 0xa9
sub eax, edx
mov byte [ebp - 0xc0], al
cmp dword [ebp - 0xc4], 0xffffffff
jl 0x556d6c
jg 0x556d4b
cmp dword [ebp - 0xc8], 0xffffffc0
jbe 0x556d6c
mov ecx, dword [ebp - 0xc8]
neg ecx
mov edx, dword [ebp - 0xc4]
adc edx, 0
neg edx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x170], edx
jmp 0x556d80
mov dword [ebp - 0x174], 0x40
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jl 0x556dfa
jg 0x556dac
cmp dword [ebp - 0xc8], 0x40
jb 0x556dfa
cmp dword [ebp - 0xd4], 0
jg 0x556dd8
jl 0x556dc0
cmp dword [ebp - 0xd8], 0
jae 0x556dd8
movzx edx, byte [ebp - 0xc0]
cmp edx, 0x54
je 0x556dd8
mov dword [ebp - 0x178], 0xffffffff
jmp 0x556de2
mov dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
cdq
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x556ecb
push 8
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xd0]
push ecx
call fcn.004bb670
add esp, 0xc
movzx edx, byte [ebp - 0xc0]
cmp edx, 0x54
jne 0x556e43
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.004d2190
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x556eb3
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
call fcn.004d21b0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xd4], 0
jg 0x556eb3
jl 0x556e7a
cmp dword [ebp - 0xd8], 0
jae 0x556eb3
mov ecx, 0x40
sub ecx, dword [ebp - 0xc8]
mov eax, 0
sbb eax, dword [ebp - 0xc4]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004d2190
or eax, dword [ebp - 0xd0]
or edx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
push 8
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0xd8]
push edx
call fcn.004bb670
add esp, 0xc
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xd4]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 4
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], cx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
push edx
call fcn.005068d0
add esp, 4
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0x108]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x108]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov dl, byte [ebp - 0xf5]
push edx
push 0x63
mov eax, dword [ebp - 0x108]
push eax
call fcn.00524460
add esp, 0xc
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 4
jne 0x556fc2
mov eax, dword [ebp - 0x100]
cmp dword [eax + 8], 0
jne 0x556fae
mov dword [ebp - 8], 0x14
jmp 0x55d772
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp 0x556fdf
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 4
mov edx, dword [ebp - 0x108]
mov word [edx + 0x1c], cx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 4
je 0x55701a
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.005020f0
add esp, 4
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x55704b
jmp case.default.0x555843
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
sar ecx, 3
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x108]
mov word [ecx + 0x1c], ax
mov dl, byte [ebp - 0xf5]
push edx
push 0x61
mov eax, dword [ebp - 0x108]
push eax
call fcn.00524460
add esp, 0xc
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x5570b2
mov eax, dword [ebp - 0x108]
push eax
call fcn.00518100
add esp, 4
mov dword [ebp - 0x17c], eax
jmp 0x5570bc
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbfe3
mov ecx, dword [ebp - 0x108]
mov word [ecx + 0x1c], ax
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x55710f
jmp case.default.0x555843
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x557155
mov dl, byte [ebp - 0xf5]
push edx
push 0x61
mov eax, dword [ebp - 0x108]
push eax
call fcn.00524460
add esp, 0xc
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbe00
or edx, 0x10
mov eax, dword [ebp - 0x108]
mov word [eax + 0x1c], dx
jmp 0x55716f
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0xfffffe10
mov eax, dword [ebp - 0x108]
mov word [eax + 0x1c], dx
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
push eax
call fcn.00502050
add esp, 4
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 1
jne 0x5571d6
mov edx, dword [ebp - 0x108]
push edx
call fcn.005068d0
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x557211
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.005020f0
add esp, 4
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0x108]
mov cx, word [eax + 0x1c]
mov word [ebp - 0xd2], cx
mov edx, dword [ebp - 0xdc]
mov ax, word [edx + 0x1c]
mov word [ebp - 0xd0], ax
movzx ecx, word [ebp - 0xd2]
movzx edx, word [ebp - 0xd0]
or ecx, edx
and ecx, 1
je 0x557343
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
and ecx, 0x80
je 0x5572d2
movzx edx, word [ebp - 0xd2]
and edx, 1
je 0x5572c6
movzx eax, word [ebp - 0xd0]
and eax, 1
je 0x5572c6
movzx ecx, word [ebp - 0xd0]
and ecx, 0x100
jne 0x5572c6
mov dword [ebp - 0xd8], 0
jmp 0x5572d0
mov dword [ebp - 0xd8], 1
jmp 0x55733e
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x557318
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 1
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], cx
jmp 0x557339
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
and ecx, 8
je 0x557339
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
jmp 0x557437
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
and edx, 0x67
mov byte [ebp - 0xd4], dl
movsx eax, byte [ebp - 0xd4]
test eax, eax
je 0x5573ab
mov cl, byte [ebp - 0xf5]
push ecx
mov dl, byte [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0x108]
push eax
call fcn.00524460
add esp, 0xc
mov cl, byte [ebp - 0xf5]
push ecx
mov dl, byte [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00524460
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x38]
test edx, edx
je 0x5573ab
jmp 0x55d747
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x5573d4
mov edx, dword [ebp - 0x108]
push edx
call fcn.00518100
add esp, 4
mov dword [ebp - 0x180], eax
jmp 0x5573de
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 0x4000
je 0x557407
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00518100
add esp, 4
mov dword [ebp - 0x184], eax
jmp 0x557411
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00524820
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
sub eax, 0x4b
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 4
ja case.default.0x557464
mov ecx, dword [ebp - 0x188]
jmp dword [ecx*4 + 0x55da70]
xor edx, edx
cmp dword [ebp - 0xd8], 0
sete dl
mov dword [ebp - 0xd8], edx
jmp 0x5574e1
xor eax, eax
cmp dword [ebp - 0xd8], 0
setne al
mov dword [ebp - 0xd8], eax
jmp 0x5574e1
xor ecx, ecx
cmp dword [ebp - 0xd8], 0
setl cl
mov dword [ebp - 0xd8], ecx
jmp 0x5574e1
xor edx, edx
cmp dword [ebp - 0xd8], 0
setle dl
mov dword [ebp - 0xd8], edx
jmp 0x5574e1
xor eax, eax
cmp dword [ebp - 0xd8], 0
setg al
mov dword [ebp - 0xd8], eax
jmp 0x5574e1
xor ecx, ecx
cmp dword [ebp - 0xd8], 0
setge cl
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x55753a
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 4
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x557555
cmp dword [ebp - 0xd8], 0
je 0x557555
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 0xfffffe00
movzx eax, word [ebp - 0xd2]
and eax, 0x1ff
or edx, eax
mov ecx, dword [ebp - 0x108]
mov word [ecx + 0x1c], dx
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 0xfffffe00
movzx ecx, word [ebp - 0xd0]
and ecx, 0x1ff
or eax, ecx
mov edx, dword [ebp - 0xdc]
mov word [edx + 0x1c], ax
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xf0], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 1
jne 0x5575d7
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd4], 0
jmp 0x55762e
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0xd8]
jge 0x55770f
cmp dword [ebp - 0xf0], 0
je 0x557660
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x18c], ecx
jmp 0x55766c
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xcc]
add eax, dword [ebp - 0xc4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, dword [ebp - 0xc4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
push ecx
call fcn.00524820
add esp, 0xc
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x55770a
cmp dword [ebp - 0xbc], 0
je 0x557708
mov edx, dword [ebp - 0x114]
neg edx
mov dword [ebp - 0x114], edx
jmp 0x55770f
jmp 0x55761f
mov dword [ebp - 0xf0], 0
jmp case.default.0x555843
cmp dword [ebp - 0x114], 0
jge 0x55773b
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x55776a
cmp dword [ebp - 0x114], 0
jne 0x557758
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp 0x55776a
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x5577a2
mov dword [ebp - 0xd8], 2
jmp 0x5577ed
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00502120
add esp, 4
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x194]
or edx, dword [ebp - 0x190]
je 0x5577d7
mov dword [ebp - 0x198], 1
jmp 0x5577e1
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x557820
mov dword [ebp - 0xd4], 2
jmp 0x55786b
mov edx, dword [ebp - 0xf4]
push edx
call fcn.00502120
add esp, 4
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x1a0]
or eax, dword [ebp - 0x19c]
je 0x557855
mov dword [ebp - 0x1a4], 1
jmp 0x55785f
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx]
cmp eax, 0x45
jne 0x557898
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 3
mov edx, dword [ebp - 0xd4]
movzx eax, byte [ecx + edx + 0x5c036c]
mov dword [ebp - 0xd8], eax
jmp 0x5578b5
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 3
mov edx, dword [ebp - 0xd4]
movzx eax, byte [ecx + edx + 0x5c03a0]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xd8], 2
jne 0x5578f5
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffbe00
or ecx, 1
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], cx
jmp 0x557924
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], ax
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x557979
mov edx, dword [ebp - 0xec]
push edx
call fcn.00508d70
add esp, 4
jmp 0x5579d0
mov eax, dword [ebp - 0x108]
push eax
call fcn.00502120
add esp, 4
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov ecx, dword [ebp - 0x1ac]
or ecx, dword [ebp - 0x1a8]
jne 0x5579ae
mov dword [ebp - 0x1b0], 1
jmp 0x5579b8
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1b0]
cdq
push edx
push eax
mov edx, dword [ebp - 0xec]
push edx
call fcn.0050f680
add esp, 0xc
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x557a25
mov eax, dword [ebp - 0xec]
push eax
call fcn.00508d70
add esp, 4
jmp 0x557a49
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00502120
add esp, 4
not eax
not edx
push edx
push eax
mov edx, dword [ebp - 0xec]
push edx
call fcn.0050f680
add esp, 0xc
jmp case.default.0x555843
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
movzx ecx, byte [ecx + eax]
test ecx, ecx
je 0x557a7c
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp 0x557a92
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov byte [edx + ecx], 1
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x557acf
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xd8], ecx
jmp 0x557b2d
mov edx, dword [ebp - 0x108]
push edx
call fcn.004fc880
add esp, 4
fcomp qword [0x5ce228]
fnstsw ax
test ah, 0x44
jnp 0x557af7
mov dword [ebp - 0x1b4], 1
jmp 0x557b01
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
cmp edx, 0x1c
jne 0x557b2d
xor eax, eax
cmp dword [ebp - 0xd8], 0
sete al
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x557b48
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x557b86
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 1
jne 0x557bc4
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], 0
push 0x28
push 0
lea ecx, [ebp - 0x98]
push ecx
call fcn.004bbbe0
add esp, 0xc
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x557d0b
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.0054d1b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x557c73
jmp 0x55d772
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x557c8d
mov dword [ebp - 0xd8], 0
jmp 0x557d06
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x54]
jne 0x557cbe
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0xbc], ecx
jmp 0x557d06
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 0x1f]
test eax, eax
je 0x557cf0
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.0050c210
add esp, 8
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
jmp 0x557d06
lea ecx, [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.0050c1f0
add esp, 8
jmp 0x557de8
mov eax, dword [ebp - 0xc0]
cmp dword [eax + 0x10], 0
jle 0x557dde
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x10]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0xc0]
movzx ecx, byte [eax + 0x22]
test ecx, ecx
je 0x557d8e
push 0x1000
mov edx, dword [ebp - 0xc4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.0050c040
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
movzx edx, word [ecx + 0x1c]
and edx, 0x1000
je 0x557d89
mov eax, dword [ebp - 0x9c]
push eax
call fcn.005181a0
add esp, 4
test eax, eax
je 0x557d89
jmp 0x55d747
jmp 0x5583ab
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x557dc1
mov dword [ebp - 0x1b8], 0
jmp 0x557dcd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x1b8]
mov dword [eax + 0x50], ecx
jmp 0x557de8
mov dword [ebp - 0xd8], 0
cmp dword [ebp - 0xd8], 0
jne 0x557e12
mov edx, dword [ebp - 0x9c]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbe00
or eax, 1
mov ecx, dword [ebp - 0x9c]
mov word [ecx + 0x1c], ax
jmp 0x5583ab
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [edx + 0x50]
jbe 0x557e25
jmp 0x55d723
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x50]
cmp ecx, dword [eax + 0x54]
jne 0x557e68
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0xb0], eax
jmp 0x558181
mov dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb4]
lea eax, [edx + ecx*4]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb0]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x50], ecx
cmp dword [ebp - 0xbc], 0
je 0x557ec8
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xa0], edx
jmp 0x557f3f
mov eax, dword [ebp - 0xc0]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
je 0x557ef1
lea edx, [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
call fcn.0050c1b0
add esp, 8
mov dword [ebp - 0xa0], eax
jmp 0x557f0a
lea ecx, [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.0050c170
add esp, 8
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x5c]
ja 0x557f32
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xa0]
mov dword [edx + 0x60], eax
jmp 0x557f3f
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x60], 0
mov edx, dword [ebp - 0xa0]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x557f67
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x1bc], 1
jmp 0x557f83
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.004fe950
add esp, 8
movzx edx, al
mov dword [ebp - 0x1bc], edx
movzx eax, byte [ebp - 0x1bc]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x68], 0x18003
jbe 0x557fab
push 0x10376
call fcn.005396b0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x5583ab
mov ecx, dword [ebp - 0xac]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x68]
jle 0x557fd1
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xbc], 0
jne 0x558039
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0xa8]
jge 0x558039
mov word [ebp - 0x7c], 0
mov dword [ebp - 0x98], 0
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp - 0xc0]
movzx ecx, byte [eax + 0x1f]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
push 0
mov eax, dword [ebp - 0xb8]
push eax
call fcn.0054d570
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55802d
jmp 0x5583ab
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
add edx, dword [ebp - 0xa8]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xa4], 0
jmp 0x55806f
mov ecx, dword [ebp - 0xa4]
add ecx, 1
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0xac]
jge 0x558131
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x6c]
jae 0x558119
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x68]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x70]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x5580c1
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
jmp 0x5580da
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.004fe950
add esp, 8
movzx edx, al
add edx, dword [ebp - 0x70]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x58]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.004f3c70
add esp, 4
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x64]
jae 0x558117
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x70], eax
jmp 0x558131
jmp 0x55812c
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb0]
mov dword [edx + ecx*4], 0
jmp 0x558060
lea eax, [ebp - 0x98]
push eax
call fcn.0050c0b0
add esp, 4
mov word [ebp - 0x7c], 1
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x6c]
ja 0x55816c
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0xd8]
ja 0x55816c
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x6c]
jne 0x558181
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0xd8]
je 0x558181
push 0x103c6
call fcn.005396b0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x5583ab
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
cmp dword [eax + edx*4], 0
je 0x5582f8
cmp dword [ebp - 0xbc], 0
je 0x5581fb
mov ecx, dword [ebp - 0x9c]
movzx edx, word [ecx + 0x1c]
and edx, 0x2460
je 0x5581c1
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00508df0
add esp, 4
mov ecx, dword [ebp - 0x9c]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xbc]
add ecx, dword [eax + edx*4]
push ecx
call fcn.004fc320
add esp, 0xc
jmp 0x5582e7
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0xc0
je 0x558253
cmp dword [ebp - 0x58], 0xc
jb 0x55822c
mov ecx, dword [ebp - 0x58]
and ecx, 1
je 0x55823d
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x80
je 0x558253
cmp dword [ebp - 0x58], 0xc
sbb ecx, ecx
lea edx, [ebp - 0xd0]
and ecx, edx
mov dword [ebp - 0xa0], ecx
jmp 0x5582cd
mov eax, dword [ebp - 0x58]
push eax
call fcn.004f3c70
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0050f570
add esp, 8
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0xc0]
movzx edx, byte [ecx + 0x1f]
push edx
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0054d570
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5582c1
jmp 0x5583ab
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
call fcn.004fc320
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov cl, byte [ebp - 0xf5]
mov byte [eax + 0x1f], cl
jmp 0x558344
mov edx, dword [ebp - 0x100]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x558327
push 0x800
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.0050c040
add esp, 0xc
jmp 0x558344
mov ecx, dword [ebp - 0x9c]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffbe00
or edx, 1
mov eax, dword [ebp - 0x9c]
mov word [eax + 0x1c], dx
cmp dword [ebp - 0x74], 0
je 0x558399
mov ecx, dword [ebp - 0x9c]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffe7ff
mov eax, dword [ebp - 0x9c]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x9c]
movzx edx, word [ecx + 0x1c]
or edx, 0x200
mov eax, dword [ebp - 0x9c]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x94]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x9c]
push edx
call fcn.005181a0
add esp, 4
mov dword [ebp - 8], eax
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0xd8]
mov dl, byte [ecx]
mov byte [ebp - 0xd4], dl
movsx eax, byte [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
test eax, eax
je 0x558462
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x558427
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00518100
add esp, 4
mov dword [ebp - 0x1c0], eax
jmp 0x558431
mov dword [ebp - 0x1c0], 0
mov dl, byte [ebp - 0xf5]
push edx
mov al, byte [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00524460
add esp, 0xc
mov edx, dword [ebp - 0x108]
add edx, 0x28
mov dword [ebp - 0x108], edx
jmp 0x5583d7
jmp case.default.0x555843
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x61]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xd4], eax
jmp 0x55852b
mov ecx, dword [ebp - 0xd4]
add ecx, 0x28
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0xa8]
ja 0x558657
cmp dword [ebp - 0xa0], 0
je 0x55857a
mov al, byte [ebp - 0xf5]
push eax
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xac]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0xa0]
mov al, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00524460
add esp, 0xc
mov edx, dword [ebp - 0xd4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x5585a6
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x18], 0
jle 0x5585a6
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00518100
add esp, 4
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004f3ca0
add esp, 8
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xb0]
push edx
call fcn.004f3c70
add esp, 4
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
cdq
add eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
adc ecx, edx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xb0]
xor eax, eax
push eax
push edx
call fcn.004f6730
add esp, 8
add eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xd4]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x55863f
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0xb8], ecx
jmp 0x558652
cmp dword [ebp - 0x94], 0
je 0x558652
mov dword [ebp - 0xb8], 0
jmp 0x55851c
mov eax, dword [ebp - 0xc8]
cdq
push edx
push eax
call fcn.004f6730
add esp, 8
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xc8]
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
cdq
push edx
push eax
call fcn.004f6730
add esp, 8
cmp dword [ebp - 0xb4], eax
jge 0x5586a8
mov eax, dword [ebp - 0xc8]
add eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0xd0]
adc esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xb8]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0x1c4]
jl 0x55870c
jg 0x558707
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0x1c8]
jbe 0x55870c
jmp 0x55d723
push 0
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.00512da0
add esp, 0xc
test eax, eax
je 0x55872d
jmp 0x55d747
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xc8], 0x80
jae 0x558762
mov eax, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xc8]
mov byte [eax], cl
mov dword [ebp - 0x1cc], 1
jmp 0x55877e
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004fea50
add esp, 8
mov dword [ebp - 0x1cc], eax
movzx ecx, byte [ebp - 0x1cc]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0xd4], edx
jmp 0x5587a8
mov eax, dword [ebp - 0xd4]
add eax, 0x28
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0xa8]
ja 0x55883c
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f3ca0
add esp, 8
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x80
jae 0x558802
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x98]
mov dl, byte [ebp - 0xb0]
mov byte [ecx], dl
mov dword [ebp - 0x1d0], 1
jmp 0x558824
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x98]
push ecx
call fcn.004fea50
add esp, 8
mov dword [ebp - 0x1d0], eax
movzx edx, byte [ebp - 0x1d0]
add edx, dword [ebp - 0x98]
mov dword [ebp - 0x98], edx
jmp 0x558799
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xd4], eax
jmp 0x558859
mov ecx, dword [ebp - 0xd4]
add ecx, 0x28
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0xa8]
ja 0x5588b0
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov eax, dword [ebp - 0x98]
cdq
mov ecx, dword [ebp - 0xc0]
sub ecx, eax
mov eax, dword [ebp - 0xbc]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0x98]
push ecx
call fcn.004fc630
add esp, 0x10
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x98], eax
jmp 0x55884a
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], 0x410
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x20], 0
cmp dword [ebp - 0xb8], 0
je 0x558909
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
or eax, 0x4000
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xec]
mov byte [edx + 0x1f], 1
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0
je 0x558956
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00546150
add esp, 8
mov dword [ebp - 8], eax
jmp 0x55896a
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xd4]
mov dword [edx + 0x14], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd8], 0
jne 0x558af3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x88], 0
jle 0x5589e2
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x558aee
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f7640
add esp, 4
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1e4]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x1e0]
push edx
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f17b0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x558a26
jmp 0x55d772
mov edx, dword [ebp - 0xd0]
add edx, 0x19
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.005098f0
add esp, 8
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x558aee
mov ecx, dword [ebp - 0xcc]
add ecx, 0x18
mov edx, dword [ebp - 0xcc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xd0]
add eax, 1
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
push eax
call fcn.004bb670
add esp, 0xc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x36]
test edx, edx
je 0x558a9d
mov eax, dword [ebp - 4]
mov byte [eax + 0x36], 0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x3d], 1
jmp 0x558ab2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1e0], eax
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d8]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x1d8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e8]
mov dword [ecx + 8], eax
mov edx, dword [edx + 0x1ec]
mov dword [ecx + 0xc], edx
jmp 0x558e7a
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d8]
mov dword [ebp - 0xc8], ecx
jmp 0x558b1d
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x558b53
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004f7480
add esp, 8
test eax, eax
je 0x558b53
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x558b0e
cmp dword [ebp - 0xc8], 0
jne 0x558b87
mov edx, dword [ebp - 0xd4]
push edx
push str.no_such_savepoint:__s
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0x10
mov dword [ebp - 8], 1
jmp 0x558e7a
mov edx, dword [ebp - 4]
cmp dword [edx + 0x88], 0
jle 0x558bc0
cmp dword [ebp - 0xd8], 1
jne 0x558bc0
push str.cannot_release_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x558e7a
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0x10], 0
jne 0x558be3
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x3d]
test ecx, ecx
je 0x558be3
mov dword [ebp - 0x1d4], 1
jmp 0x558bed
mov dword [ebp - 0x1d4], 0
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0
je 0x558c7c
cmp dword [ebp - 0xd8], 1
jne 0x558c7c
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.005128d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x558c27
jmp 0x55d6fa
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x36], 1
mov edx, dword [ebp + 8]
push edx
call fcn.00552620
add esp, 4
cmp eax, 5
jne 0x558c67
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp - 4]
mov byte [edx + 0x36], 0
mov dword [ebp - 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
jmp 0x55d6fa
mov edx, dword [ebp - 4]
mov byte [edx + 0x3d], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 8], ecx
jmp 0x558d84
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
sub eax, dword [ebp - 0xc0]
sub eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xd8], 2
jne 0x558ce6
mov dword [ebp - 0xbc], 0
jmp 0x558cb8
mov ecx, dword [ebp - 0xbc]
add ecx, 1
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xbc]
cmp eax, dword [edx + 0x14]
jge 0x558ce6
push 4
mov ecx, dword [ebp - 0xbc]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00542a30
add esp, 8
jmp 0x558ca9
mov dword [ebp - 0xbc], 0
jmp 0x558d01
mov edx, dword [ebp - 0xbc]
add edx, 1
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [eax + 0x14]
jge 0x558d49
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xbc]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.0053fbb0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x558d47
jmp 0x55d772
jmp 0x558cf2
cmp dword [ebp - 0xd8], 2
jne 0x558d84
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 2
je 0x558d84
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f3bf0
add esp, 4
mov edx, dword [ebp - 4]
push edx
call fcn.0051f390
add esp, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
or ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d8]
cmp ecx, dword [ebp - 0xc8]
je 0x558de0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1d8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1d8], eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.005038d0
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e0]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e0], ecx
jmp 0x558d84
cmp dword [ebp - 0xd8], 1
jne 0x558e2e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x1d8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005038d0
add esp, 8
cmp dword [ebp - 0x120], 0
jne 0x558e2c
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1e0], eax
jmp 0x558e49
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [edx + 0x1e8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0x1ec], eax
cmp dword [ebp - 0x120], 0
jne 0x558e7a
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004f17b0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x558e7a
jmp 0x55d772
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd8], 0
je 0x558ebd
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x36]
test eax, eax
jne 0x558ebd
mov dword [ebp - 0x1d8], 1
jmp 0x558ec7
mov dword [ebp - 0x1d8], 0
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x558f15
cmp dword [ebp - 0xd4], 0
jne 0x558f15
mov edx, dword [ebp - 4]
cmp dword [edx + 0x88], 0
jle 0x558f15
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 5
jmp 0x559045
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x36]
cmp dword [ebp - 0xd8], eax
je 0x558fe4
cmp dword [ebp - 0xd4], 0
je 0x558f4b
push 0x204
mov ecx, dword [ebp - 4]
push ecx
call fcn.0054bee0
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x36], 1
jmp 0x558fb8
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.005128d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x558f69
jmp 0x55d6fa
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xd8]
mov byte [ecx + 0x36], dl
mov eax, dword [ebp + 8]
push eax
call fcn.00552620
add esp, 4
cmp eax, 5
jne 0x558fb8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x58], edx
mov eax, 1
sub eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x36], al
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x5c], eax
jmp 0x55d6fa
mov ecx, dword [ebp - 4]
push ecx
call fcn.00505700
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 0
jne 0x558fd6
mov dword [ebp - 8], 0x65
jmp 0x558fdd
mov dword [ebp - 8], 1
jmp 0x55d6fa
cmp dword [ebp - 0xd8], 0
jne 0x558ff9
mov dword [ebp - 0x1dc], str.cannot_start_a_transaction_within_a_transaction
jmp 0x559024
cmp dword [ebp - 0xd4], 0
je 0x55900e
mov dword [ebp - 0x1e0], str.cannot_rollback___no_transaction_is_active
jmp 0x559018
mov dword [ebp - 0x1e0], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1dc]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
je 0x55918c
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.005448d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x5590b6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x58], ecx
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x5c], eax
jmp 0x55d6fa
cmp dword [ebp - 8], 0
je 0x5590c1
jmp 0x55d772
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 8], 0
je 0x55918c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
shr eax, 7
and eax, 1
je 0x55918c
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x36]
test edx, edx
je 0x5590fe
mov eax, dword [ebp - 4]
cmp dword [eax + 0x84], 1
jle 0x55918c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x74], 0
jne 0x559134
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e4]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1e4], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1e0]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1e4]
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
sub ecx, 1
push ecx
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.004f17b0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55916e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00512f00
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1e8]
mov dword [eax + 0x98], edx
mov ecx, dword [ecx + 0x1ec]
mov dword [eax + 0x9c], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd0], edx
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00506a00
add esp, 0xc
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.005068d0
add esp, 4
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
push ecx
call fcn.0053cfe0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x100]
cmp dword [edx + 8], 1
jne 0x55928a
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
or edx, 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], edx
jmp 0x5592ab
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 8], 2
jne 0x5592ab
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 0x10]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0x100]
cmp dword [eax + 4], 1
jne 0x5592d2
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f3bf0
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
and eax, 0xffffffdf
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x559335
lea ecx, [ebp - 0xd8]
push ecx
push 1
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00506a00
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd4], edx
jmp 0x55934b
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ecx + 8]
jne 0x55936d
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [eax + 0xc]
je 0x5593e3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005038d0
add esp, 8
push 0x5e9e44
mov edx, dword [ebp - 4]
push edx
call fcn.0050d490
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xd8]
je 0x5593cd
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0051f420
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
or eax, 0x20
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
mov dword [ebp - 8], 0x11
jmp case.default.0x555843
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
shr eax, 5
and eax, 1
je 0x559402
mov dword [ebp - 8], 4
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 4
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax]
cmp ecx, 0x28
jne 0x55949c
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + 0x4c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x61]
cmp ecx, eax
jge 0x55949a
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [edx + 0x4c]
mov byte [eax + 0x61], cl
jmp 0x5594a6
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 2
je 0x559506
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
push edx
call fcn.005068d0
add esp, 4
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 2
jge 0x559506
push 0x106f2
call fcn.005396b0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x55d772
mov edx, dword [ebp - 0x100]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffffa
jne 0x559550
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd4]
mov dl, byte [eax + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0xd4]
movzx ecx, word [eax + 6]
add ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x55956e
mov edx, dword [ebp - 0x100]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff2
jne 0x55956e
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd8], edx
push 1
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0054f940
add esp, 0x14
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne 0x5595a8
jmp 0x55d747
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1c], 1
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x20], 1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.00506a50
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
and ecx, 1
push ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
push eax
call fcn.004f43d0
add esp, 8
mov ecx, dword [ebp - 0x100]
movsx edx, byte [ecx + 1]
xor eax, eax
cmp edx, 0xfffffffa
setne al
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x1e], al
mov edx, dword [ebp - 0xc0]
movzx eax, byte [edx + 0x1e]
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x1f], al
jmp case.default.0x555843
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0054f940
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x55968c
jmp 0x55d747
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1c], 1
mov edx, dword [0x5c03ac]
push edx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
or ecx, 5
push ecx
mov edx, dword [ebp - 0xd8]
add edx, 4
push edx
mov eax, dword [ebp - 4]
push eax
push 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
push edx
call fcn.00540660
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x5596e9
push 1
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
push ecx
call fcn.005448d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x5597ca
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x10], 0
je 0x55979c
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
or ecx, 2
push ecx
lea edx, [ebp - 0x124]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
push ecx
call fcn.0054b2b0
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x559790
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
push 1
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
call fcn.00506a50
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1e], 0
jmp 0x5597ca
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
push eax
push 0
push 1
push 1
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
call fcn.00506a50
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1e], 1
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
xor eax, eax
cmp edx, 8
setne al
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x20], al
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 0x1e]
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1f], al
jmp case.default.0x555843
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0054f940
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x55983c
jmp 0x55d747
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ecx + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x21], 1
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0050f080
add esp, 8
mov dword [ebp - 8], eax
jmp case.default.0x555843
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0054f940
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x5598c5
jmp 0x55d747
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x100]
mov al, byte [edx + 3]
mov byte [ecx + 0x22], al
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0054d280
add esp, 8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov dword [ecx + edx*4], 0
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx], 0
je 0x559da8
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 0xd0]
movzx eax, byte [edx + 0x1e]
test eax, eax
je 0x559be8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00501dc0
add esp, 4
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00502120
add esp, 4
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
and ecx, 4
jne 0x559b80
mov edx, dword [ebp - 0xdc]
movzx eax, word [edx + 0x1c]
and eax, 8
jne 0x559a1d
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
cmp dword [ebp - 0xa8], 0
jne 0x559b04
cmp dword [ebp - 0xa4], 0x80000000
jne 0x559b04
fild qword [ebp - 0xa8]
mov eax, dword [ebp - 0xdc]
fcomp qword [eax + 8]
fnstsw ax
test ah, 0x41
je 0x559a66
mov ecx, dword [ebp - 0xdc]
fldz
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x559b04
mov dword [ebp - 0xd8], 1
mov edx, dword [ebp - 0xdc]
fldz
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
jne 0x559ab3
cmp dword [ebp - 0xd4], 0x30
jl 0x559ab1
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.00546d10
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559ab1
jmp 0x55d772
jmp 0x559ae2
cmp dword [ebp - 0xd4], 0x2f
jg 0x559ae2
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.00546c90
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559ae2
jmp 0x55d772
cmp dword [ebp - 0xd8], 0
je 0x559afd
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp case.default.0x555843
cmp dword [ebp - 0xd4], 0x2e
je 0x559b16
cmp dword [ebp - 0xd4], 0x30
jne 0x559b4c
fild qword [ebp - 0xa8]
mov edx, dword [ebp - 0xdc]
fcomp qword [edx + 8]
fnstsw ax
test ah, 5
jp 0x559b4a
mov eax, dword [ebp - 0xa8]
add eax, 1
mov ecx, dword [ebp - 0xa4]
adc ecx, 0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
jmp 0x559b80
fild qword [ebp - 0xa8]
mov edx, dword [ebp - 0xdc]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
jne 0x559b80
mov eax, dword [ebp - 0xa8]
sub eax, 1
mov ecx, dword [ebp - 0xa4]
sbb ecx, 0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
lea edx, [ebp - 0xd8]
push edx
push 0
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
push 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559bb8
jmp 0x55d772
cmp dword [ebp - 0xd8], 0
jne 0x559be3
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x40], eax
mov ecx, dword [ebp - 0xa4]
mov dword [edx + 0x44], ecx
jmp 0x559cae
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
mov ax, word [ebp - 0xb0]
mov word [ebp - 0xc4], ax
mov ecx, dword [ebp - 0xd4]
sub ecx, 0x2e
and ecx, 1
mov byte [ebp - 0xc2], cl
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x559c67
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00518100
add esp, 4
mov dword [ebp - 0x1e4], eax
jmp 0x559c71
mov dword [ebp - 0x1e4], 0
lea ecx, [ebp - 0xd8]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559ca4
jmp 0x55d772
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
cmp dword [ebp - 0xd4], 0x30
jl 0x559d27
cmp dword [ebp - 0xd8], 0
jl 0x559ce9
cmp dword [ebp - 0xd8], 0
jne 0x559d1b
cmp dword [ebp - 0xd4], 0x31
jne 0x559d1b
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.0054b6f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559d0f
jmp 0x55d772
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
jmp 0x559d25
mov dword [ebp - 0xd8], 0
jmp 0x559d8b
cmp dword [ebp - 0xd8], 0
jg 0x559d42
cmp dword [ebp - 0xd8], 0
jne 0x559d74
cmp dword [ebp - 0xd4], 0x2e
jne 0x559d74
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.0054b4f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x559d68
jmp 0x55d772
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp 0x559d8b
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.004f45e0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x559da6
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x559dba
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
cmp dword [eax], 0
je 0x559e33
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.00502120
add esp, 4
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1d], 1
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xd4]
cmp dword [edx], 0
je 0x559fc5
mov eax, dword [ebp - 0x100]
cmp dword [eax + 0x10], 0
jle 0x559ece
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x100]
mov cx, word [eax + 0x10]
mov word [ebp - 0xbc], cx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], edx
mov byte [ebp - 0xba], 2
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
jmp 0x559f4a
lea ecx, [ebp - 0xcc]
push ecx
push 0x97
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
push ecx
call fcn.0050bef0
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x559f07
jmp 0x55d747
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
push edx
call fcn.00501f10
add esp, 0x10
mov eax, dword [ebp - 0xc8]
movzx ecx, byte [eax + 6]
or ecx, 2
mov edx, dword [ebp - 0xc8]
mov byte [edx + 6], cl
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
push eax
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 0x10], 0
jne 0x559f91
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.005038d0
add esp, 8
cmp dword [ebp - 8], 0
je 0x559f9c
jmp case.default.0x555843
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
cmp edx, 0x34
jne 0x559ff0
cmp dword [ebp - 0xd8], 0
je 0x559fee
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x55a00b
cmp dword [ebp - 0xd8], 0
jne 0x55a00b
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
mov cx, word [eax + 6]
mov word [ebp - 0xcc], cx
mov word [ebp - 0xd8], 0
jmp 0x55a0b1
mov dx, word [ebp - 0xd8]
add dx, 1
mov word [ebp - 0xd8], dx
movzx eax, word [ebp - 0xd8]
movzx ecx, word [ebp - 0xcc]
cmp eax, ecx
jge 0x55a0fd
movzx edx, word [ebp - 0xd8]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xc8]
movzx ecx, word [eax + edx + 0x1c]
and ecx, 1
je 0x55a0fb
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd0], 0
jmp 0x55a0fd
jmp 0x55a09f
cmp dword [ebp - 0xd0], 0
je 0x55a1e1
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc0], edx
movzx eax, word [ebp - 0xcc]
add eax, 1
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 4
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.005068d0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xa8], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xd4]
add eax, 0x4c
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0xba]
and eax, 4
jne 0x55a1b5
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0xa8]
jne 0x55a1c9
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xa4]
jne 0x55a1c9
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x55a1e1
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 0x14], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
je 0x55a2f8
mov dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0xd0]
push edx
push 0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
mov edx, dword [ebp - 0xd4]
push edx
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x40], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x44], ecx
xor edx, edx
cmp dword [ebp - 0xd0], 0
sete dl
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1d], 0
cmp dword [ebp - 0xd0], 0
je 0x55a2e7
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x4c], ecx
jmp 0x55a317
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x4c], 0
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov ecx, dword [ebp - 0xec]
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [edx + 0x34]
adc ecx, 0
mov edx, dword [ebp - 0x100]
mov edx, dword [edx + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x44]
mov edx, dword [esi + edx*4]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 0
jne 0x55a3c1
jmp 0x55a7d3
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
jne 0x55a64e
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
call fcn.004f4600
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov ecx, dword [ebp - 0xd8]
or ecx, dword [ebp - 0xd4]
jne 0x55a4a3
lea edx, [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.00546c90
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55a428
jmp 0x55d772
cmp dword [ebp - 0xcc], 0
je 0x55a447
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xd4], 0
jmp 0x55a4a3
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.0050c210
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd4], 0x7fffffff
jl 0x55a485
jg 0x55a479
cmp dword [ebp - 0xd8], 0xffffffff
jb 0x55a485
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1b], 1
jmp 0x55a4a3
mov eax, dword [ebp - 0xd8]
add eax, 1
mov ecx, dword [ebp - 0xd4]
adc ecx, 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0xc], 0
je 0x55a5e4
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
je 0x55a50a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
mov dword [ebp - 0xc0], edx
jmp 0x55a4df
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
cmp dword [edx + 4], 0
je 0x55a4ed
jmp 0x55a4d0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xc0]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0xc4], ecx
jmp 0x55a522
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
push edx
call fcn.005068d0
add esp, 4
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1e8]
cmp dword [ecx + 0x10], 0xffffffff
jne 0x55a558
mov edx, dword [ebp - 0x1e8]
cmp dword [edx + 0x14], 0x7fffffff
je 0x55a566
mov eax, dword [ebp - 0xd0]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
je 0x55a572
mov dword [ebp - 8], 0xd
jmp 0x55d772
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x10]
add eax, 1
mov ecx, dword [edx + 0x14]
adc ecx, 0
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x1ec]
jg 0x55a5cc
jl 0x55a5ae
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x1f0]
jae 0x55a5cc
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ecx + 0x14]
adc eax, 0
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x14], eax
cmp dword [ebp - 0xd4], 0x7fffffff
jg 0x55a61b
jl 0x55a5fb
cmp dword [ebp - 0xd8], 0xffffffff
jae 0x55a61b
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov edx, dword [ebp - 0xd4]
adc edx, 0
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], edx
jmp 0x55a62f
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x1f8]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
call fcn.004f4610
add esp, 0xc
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ecx + 0x1b]
test edx, edx
je 0x55a7b2
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
and eax, 0x3fffffff
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov edx, dword [ebp - 0xd4]
adc edx, 0
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xc8], 0
lea eax, [ebp - 0xcc]
push eax
push 0
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55a797
cmp dword [ebp - 0xcc], 0
jne 0x55a797
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0x64
jge 0x55a797
lea eax, [ebp - 0xd8]
push eax
push 8
call fcn.00503870
add esp, 8
cmp dword [ebp - 0xc8], 5
jge 0x55a756
mov ecx, dword [ebp - 0xd8]
and ecx, 0xffffff
mov edx, dword [ebp - 0xd4]
and edx, 0
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], edx
jmp 0x55a774
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
and ecx, 0x3fffffff
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov eax, dword [ebp - 0xd4]
adc eax, 0
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
jmp 0x55a6bd
cmp dword [ebp - 8], 0
jne 0x55a7b2
cmp dword [ebp - 0xcc], 0
jne 0x55a7b2
mov dword [ebp - 8], 0xd
jmp 0x55d772
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x14], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx]
cmp eax, 0x39
jne 0x55a860
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xcc], edx
jmp 0x55a876
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x55a894
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x55a8d0
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x110]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x10c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x55a8f9
mov eax, dword [ebp - 0xd8]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x18], 0
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x55a919
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x1fc], edx
jmp 0x55a923
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xd8]
movzx edx, word [ecx + 0x1c]
and edx, 0x4000
je 0x55a952
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc4], ecx
jmp 0x55a95c
mov dword [ebp - 0xc4], 0
push 0
push 0
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.004f4610
add esp, 0xc
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 8
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
push 0
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
push eax
call fcn.0054dd60
add esp, 0x24
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
cmp dword [ebp - 8], 0
jne 0x55aa92
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xbc], 0
je 0x55aa92
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x10], 0
je 0x55aa92
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
and edx, 4
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbc]
call edx
add esp, 0x18
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 4]
cmp dword [edx + 0xbc], 0
je 0x55aaf3
mov eax, dword [ebp - 0x100]
cmp dword [eax + 0x10], 0
je 0x55aaf3
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0xd8], edx
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0054d1b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55ab10
jmp 0x55d772
push 0
push 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
push eax
call fcn.004f4610
add esp, 0xc
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
push edx
call fcn.0054da40
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
cmp dword [ebp - 8], 0
jne 0x55abc4
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xbc], 0
je 0x55abc4
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x10], 0
je 0x55abc4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x128]
push ecx
push 9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbc]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x55abe1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x68], eax
jmp case.default.0x555843
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f3c50
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], 0
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0052d670
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd4], 0
je 0x55ac73
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00517620
add esp, 8
mov dword [ebp - 8], eax
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0054d1b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55ad21
jmp 0x55d772
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 0x1f]
test edx, edx
je 0x55ad89
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0050c210
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x200]
jl 0x55ad7b
jg 0x55ad76
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0x204]
jbe 0x55ad7b
jmp 0x55d723
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], edx
jmp 0x55adb2
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0050c1f0
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x50]
jbe 0x55adb2
jmp 0x55d723
push 0
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00512da0
add esp, 0xc
test eax, eax
je 0x55add3
jmp 0x55d747
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0xec]
movzx eax, word [edx + 0x1c]
and eax, 0xffffbe00
or eax, 0x10
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xd8]
movzx eax, byte [edx + 0x1f]
test eax, eax
je 0x55ae33
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00546d60
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x55ae58
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
push 0
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0054b900
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x1f], 1
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x55aea3
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], 1
jmp case.default.0x555843
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + 0x1d]
test ecx, ecx
je 0x55aece
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx + 0x3c]
mov dword [ebp - 0xcc], ecx
jmp 0x55af90
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x24], 0
je 0x55af30
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x30]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0050f140
add esp, 8
jmp 0x55af90
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0054d1b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55af4d
jmp 0x55d772
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x55af75
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0xcc], edx
jmp 0x55af90
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
push edx
call fcn.0050c210
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x14], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x1c], 1
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx], 0
je 0x55aff5
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
push eax
call fcn.00502510
add esp, 4
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], 0
cmp dword [ebp - 0xd4], 0
je 0x55b04c
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00546c90
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xd0]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0x100]
cmp dword [eax + 8], 0
jle 0x55b0a3
cmp dword [ebp - 0xd0], 0
je 0x55b0a3
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x7c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x7c], ecx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], 1
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x48], 0
je 0x55b104
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00532400
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x55b161
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00546d10
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
sete cl
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x1a], cl
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x50], 0
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xd0]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xd0], 0
je 0x55b18b
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xe0], 0
je 0x55b1a1
jmp 0x55d7b7
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x55b1c7
jmp case.default.0x555843
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x48], 0
je 0x55b1f2
lea edx, [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0052ecb0
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x55b21d
mov dword [ebp - 0xd4], 1
lea edx, [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xd4]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xd4], 0
jne 0x55b287
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x55b287
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax*4 + 0x74]
add edx, 1
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
mov eax, dword [ebp + 8]
mov dword [eax + ecx*4 + 0x74], edx
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x19], 0
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
je 0x55b3e5
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 0x1c]
and eax, 0x4000
je 0x55b309
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.00518100
add esp, 4
mov dword [ebp - 0x208], eax
jmp 0x55b313
mov dword [ebp - 0x208], 0
mov edx, dword [ebp - 0x208]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
jne 0x55b3e5
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x48], 0
je 0x55b354
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.005326e0
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x55b3e5
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x55b392
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x20c], edx
jmp 0x55b39c
mov dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
push edx
push 0
push 0
push 0x5f8578
mov eax, dword [ebp - 0xd0]
cdq
push edx
push eax
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0054dd60
add esp, 0x24
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x50], 0
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x55b4b0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x100]
mov cx, word [eax + 0xc]
mov word [ebp - 0xc4], cx
mov byte [ebp - 0xc2], 0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xd0]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.005467c0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55b4a3
cmp dword [ebp - 0xd0], 0
jne 0x55b4a3
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.0054da40
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x50], 0
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], 1
cmp dword [ebp - 0xd8], 0
je 0x55b567
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0054d1b0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55b50d
jmp 0x55d772
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x55b567
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0054fb30
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55b543
jmp 0x55d772
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], 4
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
cmp dword [edx], 0
je 0x55b651
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0x100]
mov ax, word [edx + 0x10]
mov word [ebp - 0xcc], ax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x55b5ca
mov byte [ebp - 0xca], 3
jmp 0x55b5d1
mov byte [ebp - 0xca], 2
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xc0], ecx
lea edx, [ebp - 0xd4]
push edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0054fa60
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx]
cmp eax, 0x64
jne 0x55b627
mov ecx, dword [ebp - 0xd4]
neg ecx
mov dword [ebp - 0xd4], ecx
jmp 0x55b636
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0
jle 0x55b651
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp case.default.0x555843
mov dword [ebp - 0xd4], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd0], eax
jmp 0x55b67d
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0
je 0x55b6c6
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x55b6c4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x64]
shr edx, 2
and edx, 3
cmp edx, 2
jae 0x55b6c4
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x58], 0
jl 0x55b6c4
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
jmp 0x55b66e
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], 1
cmp dword [ebp - 0xd4], 1
jle 0x55b6ee
mov dword [ebp - 8], 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x60], 2
jmp 0x55b78e
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcc], edx
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xcc]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00550e40
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xec]
mov word [ecx + 0x1c], 4
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
cmp dword [ebp - 8], 0
jne 0x55b78e
cmp dword [ebp - 0xd8], 0
je 0x55b78e
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004f2090
add esp, 0x10
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov byte [ebp - 0xf6], cl
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xd8]
and eax, ecx
push eax
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.0054b230
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x100]
cmp dword [eax + 0xc], 0
je 0x55b846
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
add edx, dword [ebp - 0xd8]
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 0xc], 0
jle 0x55b846
mov edx, dword [ebp - 0x100]
mov ecx, dword [edx + 0xc]
imul ecx, ecx, 0x28
mov eax, dword [ebp - 0xd8]
cdq
mov esi, dword [ebp - 0x104]
add eax, dword [esi + ecx + 0x10]
mov ecx, dword [esi + ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x100]
mov edx, dword [edx + 0xc]
imul edx, edx, 0x28
mov esi, dword [ebp - 0x104]
mov dword [esi + edx + 0x10], eax
mov dword [esi + edx + 0x14], ecx
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax]
cmp ecx, 0x69
jne 0x55b887
mov dword [ebp - 0xd4], 1
jmp 0x55b891
mov dword [ebp - 0xd4], 2
mov edx, dword [ebp - 0xd4]
push edx
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push edx
call fcn.0054b2b0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov dword [ebp - 0xd8], eax
mov ecx, 1
test ecx, ecx
je 0x55b8f9
cmp dword [ebp - 0xd8], 1
jne 0x55b8f9
mov dword [ebp - 0x210], 0x5e9e60
jmp 0x55b903
mov dword [ebp - 0x210], 0x5e9e74
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp + 8]
add eax, 0x38
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx]
push ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov edx, dword [ebp - 4]
push edx
call fcn.005135e0
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x55b980
mov dword [ebp - 8], 7
jmp 0x55b9e4
mov eax, dword [ebp - 4]
mov byte [eax + 0x81], 1
mov dword [ebp - 0xc0], 0
push 0
lea ecx, [ebp - 0xcc]
push ecx
push fcn.00553b80
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0055fda0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55b9c7
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.005038d0
add esp, 8
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x81], 0
cmp dword [ebp - 8], 0
je 0x55b9f6
mov edx, dword [ebp - 4]
push edx
call fcn.0051f390
add esp, 4
cmp dword [ebp - 8], 7
jne 0x55ba01
jmp 0x55d747
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00516fd0
add esp, 8
mov dword [ebp - 8], eax
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0051f330
add esp, 0xc
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0050e770
add esp, 0xc
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0051d690
add esp, 0xc
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005098f0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jne 0x55bad0
jmp 0x55d747
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov dword [ebp - 0xd0], 0
jmp 0x55bb1b
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0xd8]
jge 0x55bb52
mov edx, dword [ebp - 0xd0]
imul edx, edx, 0x28
add edx, dword [ebp - 0x108]
push edx
call fcn.00502120
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
mov dword [edx + ecx*4], eax
jmp 0x55bb0c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00548f00
add esp, 0x14
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005038d0
add esp, 8
mov eax, dword [ebp - 0xcc]
cdq
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ecx + 0x10]
sub esi, eax
mov eax, dword [ecx + 0x14]
sbb eax, edx
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0x108]
push edx
call fcn.00508d70
add esp, 4
cmp dword [ebp - 0xcc], 0
jne 0x55bbfa
jmp 0x55bc29
cmp dword [ebp - 0xc8], 0
jne 0x55bc0a
jmp 0x55d747
push fcn.004fee60
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.0051c000
add esp, 0x14
movzx edx, byte [ebp - 0xf5]
push edx
mov eax, dword [ebp - 0x108]
push eax
call fcn.0051c2d0
add esp, 8
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x55bca7
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.0050f5b0
add esp, 4
mov edx, dword [ebp - 0x108]
movzx eax, word [edx + 0x1c]
and eax, 0x20
jne 0x55bca7
jmp 0x55d747
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ecx + 0x10]
push eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x10]
push edx
call fcn.005101f0
add esp, 0xc
jmp case.default.0x555843
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x55bcdd
jmp 0x55d7b7
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
je 0x55bd21
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.005094e0
add esp, 8
test eax, eax
jne 0x55bd44
mov edx, dword [ebp - 0x108]
push edx
call fcn.00508d70
add esp, 4
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp 0x55bd6d
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
push edx
call fcn.0050f680
add esp, 0xc
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x55bde3
mov edx, dword [ebp - 0x108]
push edx
call fcn.0050f5b0
add esp, 4
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 0x1c]
and ecx, 0x20
jne 0x55bde3
jmp 0x55d747
cmp dword [ebp - 0xd8], 0
je 0x55be5d
cmp dword [ebp - 0xd8], 0
jl 0x55be06
mov edx, dword [ebp - 0xd8]
and edx, 0xf
mov dword [ebp - 0x214], edx
jmp 0x55be10
mov dword [ebp - 0x214], 0xff
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 0x10]
push edx
mov al, byte [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00510020
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x55be5d
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
jmp case.default.0x555843
cmp dword [ebp - 0xd8], 0
jl 0x55be86
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [edx + 0x10]
push ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0x10]
push eax
call fcn.005101f0
add esp, 0xc
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
test eax, eax
je 0x55bf19
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0xc4], ecx
jmp 0x55beef
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x55bf0b
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x18]
cmp edx, dword [ebp - 0xbc]
je 0x55bf0b
jmp 0x55bee0
cmp dword [ebp - 0xc4], 0
je 0x55bf19
jmp case.default.0x555843
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0xb0]
cmp edx, dword [ecx + 0x78]
jl 0x55bf4e
mov dword [ebp - 8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0xc
jmp case.default.0x555843
mov edx, dword [ebp - 0xd0]
movzx eax, word [edx + 0x1c]
and eax, 0x40
jne 0x55c11f
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xc0]
add edx, dword [eax + 0xc]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4 + 0x48]
mov edx, dword [ebp - 0xc0]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00509a10
add esp, 8
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x55bfc5
jmp 0x55d747
mov edx, dword [ebp - 0xd0]
push edx
call fcn.0050c0b0
add esp, 4
mov eax, dword [ebp - 0xd0]
mov word [eax + 0x1c], 0x40
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x2c], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xc4]
lea eax, [edx + ecx + 0x48]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 0x48
mov dword [ebp - 0xcc], ecx
jmp 0x55c0f6
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xc8]
je 0x55c11d
mov ecx, dword [ebp - 0xcc]
mov word [ecx + 0x1c], 0x80
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov dword [edx], eax
jmp 0x55c0e7
jmp 0x55c12e
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x110]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
mov dword [eax + 0x44], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0xa8], edx
mov eax, dword [ebp - 0xc4]
add eax, 0x20
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x104]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xc4]
movzx ecx, word [eax + 0x40]
mov edx, dword [ebp + 8]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov edx, dword [ebp + 8]
mov dword [edx + 0x44], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 4]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
lea edx, [ecx + edx*4]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc0], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0xbc], eax
mov dword [ebp - 0xe0], 0xffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
push edx
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
push ecx
call fcn.004bbbe0
add esp, 0xc
jmp case.default.0x555843
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x2c]
imul edx, edx, 0x14
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 4]
add eax, dword [ecx + edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0xd8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xd4], eax
push 0x1000
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.0050c040
add esp, 0xc
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 4], 0
je 0x55c302
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x1e8]
mov ecx, dword [ecx + 0x1ec]
adc ecx, edx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e8], eax
mov dword [edx + 0x1ec], ecx
jmp 0x55c32c
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x90]
mov ecx, dword [ecx + 0x94]
adc ecx, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x90], eax
mov dword [edx + 0x94], ecx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
cmp dword [eax + 4], 0
je 0x55c374
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
mov ecx, dword [edx + 0x1e8]
or ecx, dword [eax + 0x1ec]
jne 0x55c372
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp 0x55c3a9
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [edx + 0x90]
or ecx, dword [eax + 0x94]
jne 0x55c3a9
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa8], 0
je 0x55c405
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0xd4], eax
jmp 0x55c3da
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 4], 0
je 0x55c3e8
jmp 0x55c3cb
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xd4]
add edx, dword [eax + 0xc]
mov dword [ebp - 0xd8], edx
jmp 0x55c41d
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.005068d0
add esp, 4
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
push eax
call fcn.005068d0
add esp, 4
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
mov edx, dword [eax + 0x14]
cmp edx, dword [ecx + 0x14]
jg 0x55c4ad
jl 0x55c495
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jae 0x55c4ad
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x14], ecx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
cmp dword [edx + 0x14], 0
jl 0x55c502
jg 0x55c4f0
mov eax, dword [ebp - 0x228]
cmp dword [eax + 0x10], 0
jbe 0x55c502
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0x14], 0
jg 0x55c557
jl 0x55c545
mov ecx, dword [ebp - 0x22c]
cmp dword [ecx + 0x10], 0
jae 0x55c557
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0x108]
add eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
adc ecx, edx
mov edx, dword [ebp - 0x108]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x230]
mov eax, dword [ecx + 0x10]
or eax, dword [edx + 0x14]
jne 0x55c5ca
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0xd4], 0
jmp 0x55c62d
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x28
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0xd8]
jge 0x55c661
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.004f3850
add esp, 4
jmp 0x55c60f
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x18], ecx
mov word [ebp - 0xa4], 1
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], 0
mov ecx, dword [ebp - 0xc8]
movzx edx, byte [ecx + 3]
and edx, 8
je 0x55c715
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax - 4]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x90], 0
je 0x55c772
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00526d60
add esp, 4
push eax
push 0x5e9ef0
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0x10
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x8c], 0
je 0x55c7af
mov edx, dword [ebp - 0x100]
mov eax, dword [edx - 0x10]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x55c7af
push 0
push 1
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
push ecx
call fcn.0050f680
add esp, 0xc
lea edx, [ebp - 0xc0]
push edx
call fcn.0050c0b0
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00506910
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55c825
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00526d60
add esp, 4
push eax
push 0x5e9ef4
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0x10
movzx edx, byte [ebp - 0xf5]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0051c2d0
add esp, 8
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004f42b0
add esp, 4
test eax, eax
je 0x55c854
jmp 0x55d723
jmp case.default.0x555843
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 0xffffffff
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], edx
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0053e420
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x55c8c1
mov dword [ebp - 8], 0
mov dword [ebp - 0xd4], 1
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xc8], edx
jmp 0x55c903
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xc8]
add ecx, 0x28
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xd8], 3
jge 0x55c92d
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp + edx*4 - 0xd4]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0050f680
add esp, 0xc
jmp 0x55c8e5
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.004f44c0
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f4fe0
add esp, 4
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xd0], 0xffffffff
jne 0x55c99c
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004f4f90
add esp, 4
test eax, eax
jne 0x55c9bb
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
push 1
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004f50a0
add esp, 8
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xd0], 5
jne 0x55ca0d
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004f7640
add esp, 4
test eax, eax
je 0x55ca01
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f4eb0
add esp, 4
test eax, eax
jne 0x55ca0d
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0xcc]
je 0x55cb13
cmp dword [ebp - 0xcc], 5
je 0x55ca35
cmp dword [ebp - 0xd0], 5
jne 0x55cb13
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x36]
test ecx, ecx
je 0x55ca4c
mov edx, dword [ebp - 4]
cmp dword [edx + 0x84], 1
jle 0x55ca98
mov dword [ebp - 8], 1
cmp dword [ebp - 0xd0], 5
jne 0x55ca68
mov dword [ebp - 0x234], str.into
jmp 0x55ca72
mov dword [ebp - 0x234], str.out_of
mov eax, dword [ebp - 0x234]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00510950
add esp, 0x10
jmp case.default.0x555843
cmp dword [ebp - 0xcc], 5
jne 0x55cad1
mov eax, dword [ebp - 0xd4]
push eax
call fcn.0053d800
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55cacf
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0053fc70
add esp, 8
jmp 0x55caeb
cmp dword [ebp - 0xcc], 4
jne 0x55caeb
push 2
mov eax, dword [ebp - 0xd4]
push eax
call fcn.0053fc70
add esp, 8
cmp dword [ebp - 8], 0
jne 0x55cb13
xor ecx, ecx
cmp dword [ebp - 0xd0], 5
sete cl
add ecx, 1
push ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00545640
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x55cb25
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0053fc70
add esp, 8
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
mov word [edx + 0x1c], 0xa02
mov eax, dword [ebp - 0xd0]
push eax
call fcn.004f1cf0
add esp, 4
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
push eax
call fcn.004f7640
add esp, 4
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0xec]
mov byte [edx + 0x1f], 1
movzx eax, byte [ebp - 0xf5]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.0051c2d0
add esp, 8
jmp case.default.0x555843
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.005550d0
add esp, 8
mov dword [ebp - 8], eax
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0054bc20
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x55cc26
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
mov dword [ebp - 8], 0
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
cmp dword [eax + 4], 0
jne 0x55cc45
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f3bf0
add esp, 4
jmp 0x55cc54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
or eax, 0x20
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov al, byte [edx + 0xc]
mov byte [ebp - 0x12d], al
movzx ecx, byte [ebp - 0x12d]
test ecx, ecx
jne 0x55cc80
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
and eax, 0x800
jne 0x55ccfb
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x134], edx
mov al, byte [ebp - 0x12d]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x134]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.0050f700
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 6
jne 0x55ccfb
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
push ecx
push str.database_table_is_locked:__s
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0x10
jmp case.default.0x555843
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005112b0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0xd8], 0
je 0x55cd44
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0050f140
add esp, 8
jmp case.default.0x555843
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0051a000
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.default.0x555843
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
and eax, 0xfffffff3
or eax, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00508870
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
and edx, 0xfffffff3
mov eax, dword [ebp + 8]
mov dword [eax + 0x64], edx
jmp case.default.0x555843
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xcc], edx
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0050f140
add esp, 8
cmp dword [ebp - 8], 0
jne 0x55cea6
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], ecx
push 0
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0054f940
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x55ce8a
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx]
mov dword [eax + 0x28], ecx
jmp 0x55cea6
mov edx, dword [ebp - 4]
mov byte [edx + 0x38], 1
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x28
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xb4], 0
jmp 0x55cf64
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xd8]
jge 0x55cfad
mov ecx, dword [ebp - 0xb4]
add ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + ecx*4]
push eax
call fcn.004f3850
add esp, 4
jmp 0x55cf55
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
and edx, 0xfffffff3
or edx, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x64], edx
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x20]
call edx
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
and ecx, 0xfffffff3
mov edx, dword [ebp + 8]
mov dword [edx + 0x64], ecx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0050f140
add esp, 8
cmp dword [ebp - 8], 0
jne 0x55d039
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x55d054
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xbc]
mov byte [ecx + 0x1c], 0
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x55d0b5
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00508d70
add esp, 4
jmp case.default.0x555843
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
push 0x40
push 0
lea edx, [ebp - 0xc8]
push edx
call fcn.004bbbe0
add esp, 0xc
mov eax, dword [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.0050f570
add esp, 8
movzx edx, word [ebp - 0xa4]
and edx, 0xffffbe00
or edx, 1
mov word [ebp - 0xa4], dx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0050f140
add esp, 8
cmp dword [ebp - 0x90], 0
je 0x55d165
mov eax, dword [ebp - 0x90]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0xf5]
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.0051c2d0
add esp, 8
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0050f570
add esp, 8
mov edx, dword [ebp - 0xd0]
push edx
call fcn.004f42b0
add esp, 4
test eax, eax
je 0x55d1aa
jmp 0x55d723
jmp case.default.0x555843
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x55d1e4
jmp case.default.0x555843
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
and ecx, 0xfffffff3
or ecx, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x64], ecx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
and edx, 0xfffffff3
mov eax, dword [ebp + 8]
mov dword [eax + 0x64], edx
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0050f140
add esp, 8
cmp dword [ebp - 8], 0
jne 0x55d276
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x55d291
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xe0], edx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], ecx
push 1
mov edx, dword [ebp - 0xd4]
push edx
call fcn.0051c2d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x55d320
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
call edx
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0050f140
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
and eax, 0xffffffdf
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x34], 0
je 0x55d50a
mov ecx, dword [ebp - 4]
mov dl, byte [ecx + 0x3c]
mov byte [ebp - 0x13d], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xcc], 0
jmp 0x55d3af
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jge 0x55d3f2
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004f3850
add esp, 4
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xbc], ecx
jmp 0x55d3a0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x100]
mov cl, byte [eax + 3]
mov byte [edx + 0x3c], cl
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x34]
call ecx
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0x13d]
mov byte [edx + 0x3c], al
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0050f140
add esp, 8
cmp dword [ebp - 8], 0
jne 0x55d48c
mov eax, dword [ebp - 0x100]
cmp dword [eax + 4], 0
je 0x55d48c
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x110]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 8]
and eax, 0xff
cmp eax, 0x13
jne 0x55d4fb
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x10]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x55d4fb
mov ecx, dword [ebp - 0x100]
movzx edx, byte [ecx + 3]
cmp edx, 4
jne 0x55d4c2
mov dword [ebp - 8], 0
jmp 0x55d4f9
mov eax, dword [ebp - 0x100]
movzx ecx, byte [eax + 3]
cmp ecx, 5
jne 0x55d4dd
mov dword [ebp - 0x238], 2
jmp 0x55d4ed
mov edx, dword [ebp - 0x100]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp + 8]
mov dl, byte [ebp - 0x238]
mov byte [ecx + 0x60], dl
jmp 0x55d50a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
jmp case.default.0x555843
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004fcc20
add esp, 4
xor edx, edx
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x555843
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x100]
cmp dword [ecx + 0xc], 0
je 0x55d5a8
mov edx, dword [ebp - 0x144]
push edx
call fcn.004fcc20
add esp, 4
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [eax + 0xc]
jae 0x55d5a8
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x144]
push edx
call fcn.00506c10
add esp, 8
cdq
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x555843
mov edx, dword [ebp - 4]
cmp dword [edx + 0x98], 0
je case.default.0x555843
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
shr ecx, 0xa
and ecx, 1
jne case.default.0x555843
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x10], 0
je 0x55d60f
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x23c], ecx
jmp 0x55d61e
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0
je case.default.0x555843
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00538c40
add esp, 8
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x9c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x98]
call edx
add esp, 8
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.005038d0
add esp, 8
jmp 0x555718
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x5c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa0]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
push str.statement_aborts_at__d:___s___s
mov eax, dword [ebp - 8]
push eax
call fcn.00539590
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00552620
add esp, 4
cmp dword [ebp - 8], 0xc0a
jne 0x55d6d1
mov edx, dword [ebp - 4]
mov byte [edx + 0x38], 1
mov dword [ebp - 8], 1
movzx eax, byte [ebp - 0xf6]
test eax, eax
jle 0x55d6fa
movzx ecx, byte [ebp - 0xf6]
sub ecx, 1
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0051f420
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x110]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp + 8]
push eax
call fcn.00506760
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x55d7f1
push 0x5e9f7c
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x55d683
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 1
push 0x5e9f94
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00510950
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x55d683
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x38]
test ecx, ecx
je 0x55d784
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x55d7b2
mov edx, dword [ebp - 8]
push edx
call fcn.004f0f60
add esp, 4
push eax
push 0x5e9fa4
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00510950
add esp, 0x10
jmp 0x55d683
mov dword [ebp - 8], 9
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x5c], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004f0f60
add esp, 4
push eax
push 0x5e9fa8
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00510950
add esp, 0x10
jmp 0x55d683
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004b9002
mov esp, ebp
pop ebp
ret