Function at 0x4f5100
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6d0
push esi
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x14]
mov dl, byte [ecx + 0x59]
mov byte [ebp - 0x1d], dl
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 8]
add eax, 0x114
push eax
call fcn.00513390
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x74], 7
jne 0x4f514e
jmp 0x4fac42
mov edx, dword [ebp + 8]
mov dword [edx + 0x74], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0xf8], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x144], 0
mov edx, dword [ebp - 4]
cmp dword [edx + 0xd8], 0
je 0x4f5183
jmp 0x4faca9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x10], ecx
jmp 0x4f5197
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 8], 0
jne 0x4fabeb
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4f51b1
jmp 0x4fac42
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x14
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x14]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xe8], 0
je 0x4f5229
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xf0]
cmp eax, dword [ebp - 0x14]
jne 0x4f5220
xor ecx, ecx
je 0x4f51e3
jmp 0x4fac6a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xec]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xe8]
call edx
add esp, 4
mov dword [ebp - 0x30], eax
xor eax, eax
je 0x4f5207
jmp 0x4fac6a
cmp dword [ebp - 0x30], 0
je 0x4f5219
mov dword [ebp - 8], 9
jmp 0x4fabeb
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
mov cl, byte [eax + 0x582360]
mov byte [ebp - 0x29], cl
movzx edx, byte [ebp - 0x29]
and edx, 2
je 0x4f5270
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f2090
add esp, 4
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
jmp 0x4f5318
movzx eax, byte [ebp - 0x29]
and eax, 4
je 0x4f52e0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x28], edx
movzx ecx, byte [ebp - 0x29]
and ecx, 8
je 0x4f52c3
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x1c], eax
movzx edx, byte [ebp - 0x29]
and edx, 0x20
je 0x4f52c1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x18], ecx
jmp 0x4f52de
movzx eax, byte [ebp - 0x29]
and eax, 0x10
je 0x4f52de
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0xc], edx
jmp 0x4f5318
movzx ecx, byte [ebp - 0x29]
and ecx, 8
je 0x4f52fd
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x1c], eax
jmp 0x4f5318
movzx edx, byte [ebp - 0x29]
and edx, 0x10
je 0x4f5318
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x5fc], ecx
mov edx, dword [ebp - 0x5fc]
sub edx, 1
mov dword [ebp - 0x5fc], edx
cmp dword [ebp - 0x5fc], 0x8d
ja case.0x4f5350.11
mov eax, dword [ebp - 0x5fc]
movzx ecx, byte [eax + 0x4fae7c]
jmp dword [ecx*4 + 0x4face4]
mov edx, dword [ebp - 4]
cmp dword [edx + 0xd8], 0
je 0x4f5368
jmp 0x4faca9
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x10]
add edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe8]
mov eax, dword [ebp + 8]
mov dword [eax + ecx*4 + 0x84], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xe8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xe8], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe8]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xe8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 0x84]
sub eax, 1
mov dword [ebp - 0x10], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ecx + 0x74], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x70], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov dword [eax + 0x7c], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4f542f
push 0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.004f33f0
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
call fcn.004efe10
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x4f5456
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x74], eax
jmp 0x4f5469
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x74]
neg edx
sbb edx, edx
and edx, 0xffffff9c
add edx, 0x65
mov dword [ebp - 8], edx
jmp 0x4fac07
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f5350.11
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp case.0x4f5350.11
mov eax, 8
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x18]
fld qword [eax]
fstp qword [ecx + 8]
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov byte [edx], 0x1b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00487780
add esp, 4
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
movzx eax, byte [ebp - 0x1d]
cmp eax, 1
je 0x4f55c1
push 0
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f26d0
add esp, 0x14
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.004f1b80
add esp, 8
test eax, eax
je 0x4f552c
jmp 0x4fac42
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f1d30
add esp, 4
test eax, eax
je 0x4f5541
jmp 0x4fac42
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
or eax, 0x80
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffbf
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx + 1]
cmp eax, 0xffffffff
jne 0x4f558a
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004f3800
add esp, 4
mov eax, dword [ebp - 0x24]
mov byte [eax + 1], 0xff
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x18]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x50]
jle 0x4f55bc
jmp 0x4fac20
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x50]
jle case.0x4f5350.26
jmp 0x4fac20
mov ecx, 0xa2
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x1d]
mov byte [eax + 0x1f], cl
jmp case.0x4f5350.11
push 0
push 0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f26d0
add esp, 0x14
mov ecx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0x1f], dl
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
sub ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x38]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.004f2530
add esp, 4
test eax, eax
je 0x4f5667
jmp 0x4fac20
push 0x80
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x38]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004f2590
add esp, 0xc
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f2680
add esp, 8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 0x24], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x18], ecx
push 0x100
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004f2590
add esp, 0xc
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0x100
je 0x4f573b
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004f1e80
add esp, 4
test eax, eax
je 0x4f573b
jmp 0x4fac42
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x18], eax
push 0x100
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f2590
add esp, 0xc
jmp case.0x4f5350.11
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
add edx, 2
or edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x54], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xf8], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xf8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0
jmp 0x4f57c6
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + 8]
jge 0x4f57f7
mov ecx, dword [ebp - 0x44]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x40]
push ecx
call fcn.004f1ea0
add esp, 4
mov edx, dword [ebp - 0x44]
imul edx, edx, 0x28
add edx, dword [ebp - 0x40]
push edx
call fcn.004f4f50
add esp, 4
jmp 0x4f57bd
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x4f5807
jmp 0x4fac42
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x50]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0x10]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x70], edx
mov dword [ebp - 8], 0x64
jmp 0x4fac07
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
or edx, ecx
and edx, 1
je 0x4f5854
mov edx, dword [ebp - 0x18]
push edx
call fcn.004f2420
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0x800
je 0x4f5877
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x600], eax
jmp 0x4f5881
mov dword [ebp - 0x600], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0x12
jne 0x4f58a7
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f1f20
add esp, 8
test eax, eax
je 0x4f58a7
jmp 0x4fac42
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 0x1c]
and edx, 0x800
je 0x4f58ca
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x604], eax
jmp 0x4f58d4
mov dword [ebp - 0x604], 0
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 0x1c]
and edx, 0x12
jne 0x4f58fa
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004f1f20
add esp, 8
test eax, eax
je 0x4f58fa
jmp 0x4fac42
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x60c], eax
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x608]
jl 0x4f593d
jg 0x4f5938
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x60c]
jbe 0x4f593d
jmp 0x4fac20
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 2
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x18]
xor eax, eax
cmp edx, dword [ebp - 0x1c]
sete al
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 2
mov edx, dword [ebp - 0x4c]
adc edx, 0
push ecx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f1bc0
add esp, 0xc
test eax, eax
je 0x4f597f
jmp 0x4fac42
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x1c]
je 0x4f59a4
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00487410
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx + 0x18]
push ecx
call fcn.00487410
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x50]
add eax, 1
mov ecx, dword [ebp - 0x4c]
adc ecx, 0
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
or eax, 0x20
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + 0x1f], dl
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
and ecx, 1
je 0x4f5a32
jmp 0x4f5d13
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
mov ecx, dword [ebp - 0x1c]
movzx edx, word [ecx + 0x1c]
and eax, edx
and eax, 4
je 0x4f5ba4
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 0x68], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x610], ecx
mov edx, dword [ebp - 0x610]
sub edx, 0x4e
mov dword [ebp - 0x610], edx
cmp dword [ebp - 0x610], 3
ja case.default.0x4f5a95
mov eax, dword [ebp - 0x610]
jmp dword [eax*4 + 0x4faf0c]
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
jmp 0x4f5b7d
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
sbb ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
jmp 0x4f5b7d
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.0048ba20
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x4f5b7d
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x4f5af7
jmp 0x4f5d13
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x5c]
cmp ecx, 0xffffffff
jne 0x4f5b1f
cmp dword [ebp - 0x68], 0
jne 0x4f5b1f
cmp dword [ebp - 0x64], 0x80000000
jne 0x4f5b1f
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.00489a90
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x4f5b7d
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x4f5b49
jmp 0x4f5d13
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x5c]
cmp ecx, 0xffffffff
jne 0x4f5b62
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.00496760
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
mov edx, dword [ebp - 0x64]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
jmp 0x4f5d0e
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f2240
add esp, 4
fstp qword [ebp - 0x70]
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004f2240
add esp, 4
fstp qword [ebp - 0x78]
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x614]
sub ecx, 0x4e
mov dword [ebp - 0x614], ecx
cmp dword [ebp - 0x614], 3
ja case.default.0x4f5bec
mov edx, dword [ebp - 0x614]
jmp dword [edx*4 + 0x4faf1c]
fld qword [ebp - 0x78]
fadd qword [ebp - 0x70]
fstp qword [ebp - 0x78]
jmp 0x4f5cc6
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fstp qword [ebp - 0x78]
jmp 0x4f5cc6
fld qword [ebp - 0x78]
fmul qword [ebp - 0x70]
fstp qword [ebp - 0x78]
jmp 0x4f5cc6
fldz
fcomp qword [ebp - 0x70]
fnstsw ax
test ah, 0x44
jp 0x4f5c2e
jmp 0x4f5d13
fld qword [ebp - 0x78]
fdiv qword [ebp - 0x70]
fstp qword [ebp - 0x78]
jmp 0x4f5cc6
fld qword [ebp - 0x70]
call fcn.00487bf6
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fld qword [ebp - 0x78]
call fcn.00487bf6
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x4f5c71
jmp 0x4f5d13
mov ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
jne 0x4f5c96
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x80]
push edx
call fcn.00496760
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], edx
fild qword [ebp - 0x61c]
fstp qword [ebp - 0x78]
sub esp, 8
fld qword [ebp - 0x78]
fstp qword [esp]
call fcn.004f3a30
add esp, 8
test eax, eax
je 0x4f5cdd
jmp 0x4f5d13
mov eax, dword [ebp - 0x18]
fld qword [ebp - 0x78]
fstp qword [eax + 8]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 8
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x54]
and ecx, 8
jne 0x4f5d0e
mov edx, dword [ebp - 0x18]
push edx
call fcn.004f22e0
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f2420
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x90], 0
jmp 0x4f5d81
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xdc]
add eax, 0x28
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x8c]
jge 0x4f5db5
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.004f4f50
add esp, 4
jmp 0x4f5d63
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffb
jne 0x4f5dd9
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], 0
jmp 0x4f5df3
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x18], eax
mov edx, 1
mov word [ebp - 0xb4], dx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0x18]
push ecx
lea edx, [ebp - 0xd0]
push edx
call fcn.004f2680
add esp, 8
movzx eax, word [ebp - 0xb4]
and eax, 0xffffffe0
or eax, 1
mov word [ebp - 0xb4], ax
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x4f5e79
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax - 4]
mov dword [ebp - 0xa0], ecx
xor edx, edx
je 0x4f5e82
jmp 0x4fac6a
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
xor edx, edx
je 0x4f5ebd
lea eax, [ebp - 0xd0]
push eax
call fcn.004f2100
add esp, 4
jmp 0x4fac6a
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4f5edc
lea eax, [ebp - 0xd0]
push eax
call fcn.004f2100
add esp, 4
jmp 0x4fac42
cmp dword [ebp - 0xd4], 0
je 0x4f5f0e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004f0b20
add esp, 8
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x24]
mov byte [eax + 1], 0xf9
cmp dword [ebp - 0xa4], 0
je 0x4f5f44
push 0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.004e9cb0
add esp, 4
push eax
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.004f33f0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0x1d]
push ecx
lea edx, [ebp - 0xd0]
push edx
call fcn.004f1b80
add esp, 8
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004f2680
add esp, 8
mov edx, dword [ebp - 0x18]
push edx
call fcn.004f2530
add esp, 4
test eax, eax
je 0x4f5f80
jmp 0x4fac20
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x1c]
movzx eax, word [edx + 0x1c]
or ecx, eax
and ecx, 1
je 0x4f5fab
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004f2420
add esp, 4
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004f2140
add esp, 4
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f2140
add esp, 4
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx]
mov byte [ebp - 0x620], dl
cmp byte [ebp - 0x620], 0x4a
je 0x4f6003
cmp byte [ebp - 0x620], 0x4b
je 0x4f6029
cmp byte [ebp - 0x620], 0x4c
je 0x4f604f
jmp 0x4f6074
mov eax, dword [ebp - 0xe8]
and eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe4]
and ecx, dword [ebp - 0xec]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
jmp 0x4f6097
mov edx, dword [ebp - 0xe8]
or edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], eax
jmp 0x4f6097
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
call fcn.0048ed80
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
jmp 0x4f6097
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
call fcn.004e8560
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xe8]
mov dword [ecx], edx
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 0x28]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4f5350.11
movzx eax, byte [ebp - 0x1d]
push eax
push 0x63
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f5080
add esp, 0xc
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 0xc
jne 0x4f611e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 4
je 0x4f6182
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0xc], 0
je 0x4f6149
mov dword [ebp - 0x628], 1
mov dword [ebp - 0x624], 0
jmp 0x4f615d
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x628]
mov edx, dword [eax + 4]
adc edx, dword [ebp - 0x624]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], edx
jmp 0x4f6204
mov eax, dword [ebp - 0x28]
fld qword [eax + 8]
call fcn.00487bf6
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
mov ecx, dword [ebp - 0x28]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x4f61ca
mov edx, dword [ebp - 0xf8]
add edx, 1
mov eax, dword [ebp - 0xf4]
adc eax, 0
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0xc], 0
je 0x4f6204
fild qword [ebp - 0xf8]
mov edx, dword [ebp - 0x28]
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x44
jp 0x4f6204
mov eax, dword [ebp - 0xf8]
add eax, 1
mov ecx, dword [ebp - 0xf4]
adc ecx, 0
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xf8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], ax
jmp case.0x4f5350.11
movzx edx, byte [ebp - 0x1d]
push edx
push 0x63
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f5080
add esp, 0xc
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 4
jne 0x4f6275
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jne 0x4f6267
mov dword [ebp - 8], 0x14
jmp 0x4fac71
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp 0x4f6289
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], cx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 4
je 0x4f62a6
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f2380
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f62bc
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 0x10
sar eax, 3
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
or edx, eax
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], dx
movzx ecx, byte [ebp - 0x1d]
push ecx
push 0x61
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f5080
add esp, 0xc
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0x800
je 0x4f630f
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x62c], eax
jmp 0x4f6319
mov dword [ebp - 0x62c], 0
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe3
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], dx
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f6349
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 0x10
jne 0x4f6368
movzx edx, byte [ebp - 0x1d]
push edx
push 0x61
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f5080
add esp, 0xc
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 0x10
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], dx
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 0xd
jne 0x4f6399
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f23b0
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x4f63b6
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f2330
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x4f63d3
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f2380
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + 0x1c]
or edx, ecx
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0x104]
and edx, 1
je 0x4f64c4
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x4f6471
mov edx, 4
mov word [ebp - 0x114], dx
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 0x1c]
and eax, 1
neg eax
sbb eax, eax
add eax, 1
cdq
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x28], ecx
mov edx, 4
mov word [ebp - 0x13c], dx
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 0x1c]
and eax, 1
neg eax
sbb eax, eax
add eax, 1
cdq
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], edx
lea ecx, [ebp - 0x158]
mov dword [ebp - 0xc], ecx
jmp 0x4f64c4
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
and eax, 0x80
je 0x4f64a7
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
jmp 0x4f64bf
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
and edx, 8
je 0x4f64bf
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
and eax, 0x67
mov byte [ebp - 0xf9], al
movsx ecx, byte [ebp - 0xf9]
test ecx, ecx
je 0x4f6511
movzx edx, byte [ebp - 0x1d]
push edx
movzx eax, byte [ebp - 0xf9]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f5080
add esp, 0xc
movzx edx, byte [ebp - 0x1d]
push edx
movzx eax, byte [ebp - 0xf9]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004f5080
add esp, 0xc
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 0x800
je 0x4f6533
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x630], eax
jmp 0x4f653d
mov dword [ebp - 0x630], 0
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + 0x1c]
and eax, 0x800
je 0x4f655f
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x634], eax
jmp 0x4f6569
mov dword [ebp - 0x634], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004f2880
add esp, 0xc
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x638]
sub edx, 0x43
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 4
ja case.default.0x4f65b0
mov eax, dword [ebp - 0x638]
jmp dword [eax*4 + 0x4faf2c]
xor ecx, ecx
cmp dword [ebp - 0x100], 0
sete cl
mov dword [ebp - 0x100], ecx
jmp 0x4f662d
xor edx, edx
cmp dword [ebp - 0x100], 0
setne dl
mov dword [ebp - 0x100], edx
jmp 0x4f662d
xor eax, eax
cmp dword [ebp - 0x100], 0
setl al
mov dword [ebp - 0x100], eax
jmp 0x4f662d
xor ecx, ecx
cmp dword [ebp - 0x100], 0
setle cl
mov dword [ebp - 0x100], ecx
jmp 0x4f662d
xor edx, edx
cmp dword [ebp - 0x100], 0
setg dl
mov dword [ebp - 0x100], edx
jmp 0x4f662d
xor eax, eax
cmp dword [ebp - 0x100], 0
setge al
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
and edx, 0x80
je 0x4f6673
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x100]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4f6688
cmp dword [ebp - 0x100], 0
je 0x4f6688
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0x10], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f66a5
mov dword [ebp - 0x15c], 2
jmp 0x4f66ed
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f2140
add esp, 4
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov ecx, dword [ebp - 0x640]
or ecx, dword [ebp - 0x63c]
je 0x4f66d7
mov dword [ebp - 0x644], 1
jmp 0x4f66e1
mov dword [ebp - 0x644], 0
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f6705
mov dword [ebp - 0x160], 2
jmp 0x4f674d
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004f2140
add esp, 4
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x64c]
or eax, dword [ebp - 0x648]
je 0x4f6737
mov dword [ebp - 0x650], 1
jmp 0x4f6741
mov dword [ebp - 0x650], 0
mov ecx, dword [ebp - 0x650]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
cmp eax, 0x3d
jne 0x4f6777
mov ecx, dword [ebp - 0x15c]
imul ecx, ecx, 3
mov edx, dword [ebp - 0x160]
movzx eax, byte [ecx + edx + 0x5698c0]
mov dword [ebp - 0x15c], eax
jmp 0x4f6794
mov ecx, dword [ebp - 0x15c]
imul ecx, ecx, 3
mov edx, dword [ebp - 0x160]
movzx eax, byte [ecx + edx + 0x5698cc]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 2
jne 0x4f67b3
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
jmp 0x4f67d6
mov eax, dword [ebp - 0x15c]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x4f67ec
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
mov ecx, dword [ebp - 0x654]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x4f6820
mov dword [ebp - 0x658], 1
jmp 0x4f682a
mov dword [ebp - 0x658], 0
mov eax, dword [ebp - 0x658]
cdq
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x1c]
and eax, 1
je 0x4f684f
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
not eax
mov ecx, dword [edx + 4]
not ecx
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f688e
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x164], eax
jmp 0x4f68e6
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f2240
add esp, 4
fcomp qword [0x549ae8]
fnstsw ax
test ah, 0x44
jnp 0x4f68b3
mov dword [ebp - 0x65c], 1
jmp 0x4f68bd
mov dword [ebp - 0x65c], 0
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x49
jne 0x4f68e6
xor edx, edx
cmp dword [ebp - 0x164], 0
sete dl
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0
je 0x4f68fb
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
je 0x4f6926
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4f6947
mov edx, dword [ebp - 0x28]
add edx, 0x28
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x168]
sub eax, 1
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jg 0x4f690c
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x1c]
and edx, 1
jne 0x4f6964
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x188], 0
xor eax, eax
mov word [ebp - 0x19c], ax
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp - 0x16c]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 1
mov eax, dword [ebp - 0x16c]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x18c]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x188]
cmp dword [edx], 0
je 0x4f6ad9
mov eax, dword [ebp - 0x188]
push eax
call fcn.004f0d00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f6a1d
jmp 0x4fac71
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4f6a4f
mov dword [ebp - 0x190], 0
jmp 0x4f6ac8
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x68]
cmp ecx, dword [eax + 0x54]
jne 0x4f6a80
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0x184], edx
jmp 0x4f6ac8
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x22]
test ecx, ecx
je 0x4f6ab2
lea edx, [ebp - 0x1d0]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.00500f10
add esp, 8
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x190], ecx
jmp 0x4f6ac8
lea edx, [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.00500fd0
add esp, 8
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x1c4], edx
jmp 0x4f6b1d
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x188]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 0
cmp dword [ebp - 0x190], 0
jne 0x4f6b2b
jmp 0x4f70ab
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x190]
cmp edx, dword [ecx + 0x50]
jbe 0x4f6b3e
jmp 0x4fac20
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x68]
cmp ecx, dword [eax + 0x54]
jne 0x4f6b72
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x178], eax
jmp 0x4f6e90
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x180]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x178]
mov dword [ecx + 0x74], edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x190]
mov dword [eax + 0x6c], ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x68], ecx
cmp dword [ebp - 0x184], 0
je 0x4f6bce
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x1bc], edx
jmp 0x4f6c4e
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x22]
test ecx, ecx
je 0x4f6bfa
lea edx, [ebp - 0x1e4]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.00501620
add esp, 8
mov dword [ebp - 0x1bc], eax
jmp 0x4f6c16
lea ecx, [ebp - 0x1e4]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.005016f0
add esp, 8
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x190]
jb 0x4f6c41
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x1bc]
mov dword [edx + 0x78], eax
jmp 0x4f6c4e
mov ecx, dword [ebp - 0x188]
mov dword [ecx + 0x78], 0
mov edx, dword [ebp - 0x1bc]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x4f6c79
mov ecx, dword [ebp - 0x1bc]
movzx edx, byte [ecx]
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x660], 1
jmp 0x4f6c95
lea eax, [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0x1bc]
push ecx
call fcn.004f4b70
add esp, 8
mov dword [ebp - 0x660], eax
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0x1dc], edx
cmp dword [ebp - 0x184], 0
jne 0x4f6d0f
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x1e0]
jae 0x4f6d0f
xor ecx, ecx
mov word [ebp - 0x19c], cx
mov dword [ebp - 0x1a8], 0
lea edx, [ebp - 0x1b8]
push edx
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x22]
push ecx
mov edx, dword [ebp - 0x1e0]
push edx
push 0
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.004f2b70
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f6d03
jmp 0x4f70ab
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x170], 0
jmp 0x4f6d4e
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x1c4]
jae 0x4f6e31
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x1d8]
jae 0x4f6e19
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x1e0]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x1d4]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x4f6dbc
mov eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x180]
mov dword [eax + edx*4], ecx
mov dword [ebp - 0x664], 1
jmp 0x4f6de1
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x180]
lea eax, [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x1d4]
push ecx
call fcn.004f4b70
add esp, 8
mov dword [ebp - 0x664], eax
mov edx, dword [ebp - 0x1d4]
add edx, dword [ebp - 0x664]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x180]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004f0f30
add esp, 4
add eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e0], eax
jmp 0x4f6e2c
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x178]
mov dword [ecx + eax*4], 0
jmp 0x4f6d3f
lea edx, [ebp - 0x1b8]
push edx
call fcn.004f2100
add esp, 4
mov eax, 1
mov word [ebp - 0x19c], ax
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0x1d8]
ja 0x4f6e84
mov edx, dword [ebp - 0x1e0]
cmp edx, dword [ebp - 0x190]
ja 0x4f6e84
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x1d8]
jne 0x4f6e90
mov ecx, dword [ebp - 0x1e0]
cmp ecx, dword [ebp - 0x190]
je 0x4f6e90
mov dword [ebp - 8], 0xb
jmp 0x4f70ab
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
cmp dword [eax + edx*4], 0
je 0x4f701a
cmp dword [ebp - 0x184], 0
je 0x4f6f60
mov ecx, dword [ebp - 0x16c]
movzx edx, word [ecx + 0x1c]
and edx, 0x40
je 0x4f6f26
lea eax, [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x180]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x184]
add eax, dword [edx + ecx*4]
push eax
call fcn.004f1090
add esp, 0xc
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x1a8], ecx
lea edx, [ebp - 0x1b8]
push edx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.004f2600
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f6f24
jmp 0x4f70ab
jmp 0x4f6f5b
mov ecx, dword [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x184]
add ecx, dword [eax + edx*4]
push ecx
call fcn.004f1090
add esp, 0xc
jmp 0x4f700c
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.004f0f30
add esp, 4
mov dword [ebp - 0x17c], eax
mov edx, dword [ebp - 0x16c]
push edx
lea eax, [ebp - 0x1b8]
push eax
call fcn.004f2680
add esp, 8
lea ecx, [ebp - 0x1b8]
push ecx
mov edx, dword [ebp - 0x188]
movzx eax, byte [edx + 0x22]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.004f2b70
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f6fda
jmp 0x4f70ab
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x1bc]
push edx
call fcn.004f1090
add esp, 0xc
mov eax, dword [ebp - 0x16c]
mov cl, byte [ebp - 0x1d]
mov byte [eax + 0x1f], cl
jmp 0x4f7041
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffff8
jne 0x4f7041
push 0x80
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.004f2590
add esp, 0xc
cmp dword [ebp - 0x194], 0
je 0x4f7099
mov ecx, dword [ebp - 0x16c]
movzx edx, word [ecx + 0x1c]
and edx, 0xfffffe7f
mov eax, dword [ebp - 0x16c]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x16c]
movzx edx, word [ecx + 0x1c]
or edx, 0x20
mov eax, dword [ebp - 0x16c]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1a4]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x194]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 0x16c]
push edx
call fcn.004f1e80
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1e8], ecx
jmp 0x4f7106
mov edx, dword [ebp - 0x1e8]
add edx, 0x28
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [ebp - 0x1f4]
ja 0x4f717f
mov ecx, dword [ebp - 0x1e8]
movzx edx, word [ecx + 0x1c]
and edx, 0x800
je 0x4f713d
mov eax, dword [ebp - 0x1e8]
push eax
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x668], eax
jmp 0x4f7147
mov dword [ebp - 0x668], 0
movzx ecx, byte [ebp - 0x1d]
push ecx
mov eax, dword [ebp - 0x1e8]
sub eax, dword [ebp - 0x1f0]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x1ec]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x1e8]
push ecx
call fcn.004f5080
add esp, 0xc
jmp 0x4f70f7
jmp case.0x4f5350.11
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x1fc], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x234]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x22c], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
sub ecx, 1
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x100]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x218], ecx
jmp 0x4f723e
mov edx, dword [ebp - 0x218]
add edx, 0x28
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x230]
ja 0x4f736c
cmp dword [ebp - 0x214], 0
je 0x4f728c
movzx ecx, byte [ebp - 0x1d]
push ecx
mov eax, dword [ebp - 0x218]
sub eax, dword [ebp - 0x22c]
cdq
mov ecx, 0x28
idiv ecx
mov edx, dword [ebp - 0x214]
movzx eax, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.004f5080
add esp, 0xc
mov edx, dword [ebp - 0x218]
movzx eax, word [edx + 0x1c]
and eax, 0x800
je 0x4f72b8
mov ecx, dword [ebp - 0x218]
cmp dword [ecx + 0x18], 0
jle 0x4f72b8
mov edx, dword [ebp - 0x218]
push edx
call fcn.004f1de0
add esp, 4
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.004f0db0
add esp, 8
mov dword [ebp - 0x1f8], eax
mov edx, dword [ebp - 0x1f8]
push edx
call fcn.004f0f30
add esp, 4
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
cdq
add eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
adc ecx, edx
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x1f8]
xor eax, eax
push eax
push edx
call fcn.004f4d10
add esp, 8
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x218]
movzx edx, word [ecx + 0x1c]
and edx, 0x800
je 0x4f7354
mov eax, dword [ebp - 0x1fc]
cdq
mov ecx, dword [ebp - 0x218]
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov dword [ebp - 0x1fc], eax
jmp 0x4f7367
cmp dword [ebp - 0x238], 0
je 0x4f7367
mov dword [ebp - 0x1fc], 0
jmp 0x4f722f
mov eax, dword [ebp - 0x208]
cdq
push edx
push eax
call fcn.004f4d10
add esp, 8
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x208]
add edx, dword [ebp - 0x204]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
cdq
push edx
push eax
call fcn.004f4d10
add esp, 8
cmp dword [ebp - 0x204], eax
jge 0x4f73bd
mov eax, dword [ebp - 0x208]
add eax, 1
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x210]
adc esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x1fc]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x66c], edx
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x66c]
jb 0x4f7421
ja 0x4f741c
mov ecx, dword [ebp - 0x228]
cmp ecx, dword [ebp - 0x670]
jbe 0x4f7421
jmp 0x4fac20
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x18], eax
push 0
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004f1bc0
add esp, 0xc
test eax, eax
je 0x4f7451
jmp 0x4fac42
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x220], edx
cmp dword [ebp - 0x208], 0x80
jae 0x4f7483
mov eax, dword [ebp - 0x220]
mov cl, byte [ebp - 0x208]
mov byte [eax], cl
mov dword [ebp - 0x674], 1
jmp 0x4f749f
mov edx, dword [ebp - 0x208]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.004f4730
add esp, 8
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x674]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x218], edx
jmp 0x4f74c8
mov eax, dword [ebp - 0x218]
add eax, 0x28
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [ebp - 0x230]
ja 0x4f755b
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x218]
push eax
call fcn.004f0db0
add esp, 8
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0x80
jae 0x4f7522
mov ecx, dword [ebp - 0x220]
add ecx, dword [ebp - 0x200]
mov dl, byte [ebp - 0x1f8]
mov byte [ecx], dl
mov dword [ebp - 0x678], 1
jmp 0x4f7544
mov eax, dword [ebp - 0x1f8]
push eax
mov ecx, dword [ebp - 0x220]
add ecx, dword [ebp - 0x200]
push ecx
call fcn.004f4730
add esp, 8
mov dword [ebp - 0x678], eax
mov edx, dword [ebp - 0x200]
add edx, dword [ebp - 0x678]
mov dword [ebp - 0x200], edx
jmp 0x4f74b9
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x218], eax
jmp 0x4f7578
mov ecx, dword [ebp - 0x218]
add ecx, 0x28
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x230]
ja 0x4f75cf
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
mov eax, dword [ebp - 0x200]
cdq
mov ecx, dword [ebp - 0x228]
sub ecx, eax
mov eax, dword [ebp - 0x224]
sbb eax, edx
push ecx
mov ecx, dword [ebp - 0x220]
add ecx, dword [ebp - 0x200]
push ecx
call fcn.004f0f60
add esp, 0x10
add eax, dword [ebp - 0x200]
mov dword [ebp - 0x200], eax
jmp 0x4f7569
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x18], edx
mov ecx, 0x50
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x20], 0
cmp dword [ebp - 0x1fc], 0
je 0x4f761c
mov eax, dword [ebp - 0x1fc]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
or eax, 0x800
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x1f], 1
jmp case.0x4f5350.11
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4f763f
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 1
jle 0x4f7696
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x240]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x23c]
push eax
call fcn.00508440
add esp, 4
test eax, eax
jne 0x4f7696
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.005009b0
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x14c], 1
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov cl, byte [eax + 4]
mov byte [ebp - 0x241], cl
mov edx, dword [ebp - 0x24]
mov al, byte [edx + 8]
mov byte [ebp - 0x242], al
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 1
jle 0x4f7727
movzx edx, byte [ebp - 0x241]
test edx, edx
je 0x4f7727
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x4f7727
movzx edx, byte [ebp - 0x242]
test edx, edx
je 0x4f76ec
mov dword [ebp - 0x67c], str.rollback
jmp 0x4f76f6
mov dword [ebp - 0x67c], str.commit
push 0
push str._transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x67c]
push eax
push str.cannot
mov ecx, dword [ebp + 8]
add ecx, 0xf4
push ecx
call fcn.004f33f0
add esp, 0x14
mov dword [ebp - 8], 1
jmp 0x4f7830
movzx edx, byte [ebp - 0x241]
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x1c]
cmp edx, ecx
je 0x4f77ca
mov edx, dword [ebp - 0x24]
cmp dword [edx + 8], 0
je 0x4f775b
mov eax, dword [ebp - 4]
push eax
call fcn.004eb5a0
add esp, 4
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1c], 1
jmp 0x4f77aa
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0x241]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.004efe10
add esp, 4
cmp eax, 5
jne 0x4f77aa
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x70], eax
movzx ecx, byte [ebp - 0x241]
mov edx, 1
sub edx, ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], dl
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x74], edx
jmp 0x4fac07
mov eax, dword [ebp + 8]
cmp dword [eax + 0x74], 0
jne 0x4f77bc
mov dword [ebp - 8], 0x65
jmp 0x4f77c3
mov dword [ebp - 8], 1
jmp 0x4fac07
movzx ecx, byte [ebp - 0x241]
test ecx, ecx
jne 0x4f77e1
mov dword [ebp - 0x680], str.cannot_start_a_transaction_within_a_transaction
jmp 0x4f780e
movzx edx, byte [ebp - 0x242]
test edx, edx
je 0x4f77f8
mov dword [ebp - 0x684], str.cannot_rollback___no_transaction_is_active
jmp 0x4f7802
mov dword [ebp - 0x684], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x680], eax
push 0
mov ecx, dword [ebp - 0x680]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.004f33f0
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 0
je 0x4f78b1
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x248]
push edx
call fcn.004ff0d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x4f78a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x70], ecx
mov dword [ebp - 8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x74], eax
jmp 0x4fac07
cmp dword [ebp - 8], 0
je 0x4f78b1
cmp dword [ebp - 8], 8
je 0x4f78b1
jmp 0x4fac71
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x258], 0
jge 0x4f78f8
mov edx, dword [ebp - 0x258]
add edx, 1
imul edx, edx, 0xffffffff
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x254]
imul eax, eax, 0xffffffff
mov dword [ebp - 0x254], eax
lea ecx, [ebp - 0x250]
push ecx
mov edx, dword [ebp - 0x254]
add edx, 1
push edx
mov eax, dword [ebp - 0x258]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00506a80
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x250]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.004f2330
add esp, 4
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 1
push eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 4]
push edx
call fcn.00506d20
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jne 0x4f79c0
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
or eax, 0x10
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], eax
jmp 0x4f79da
mov edx, dword [ebp - 0x24]
cmp dword [edx + 8], 1
jne 0x4f79da
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0xc]
mov al, byte [edx]
mov byte [ecx + 0x58], al
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 4], 1
jne 0x4f79ef
mov edx, dword [ebp - 4]
push edx
call fcn.004f1b30
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 0
je 0x4f7a33
lea edx, [ebp - 0x264]
push edx
push 1
mov eax, dword [ebp - 0x260]
push eax
call fcn.00506a80
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x4f7a44
mov dword [ebp - 8], 0
mov dword [ebp - 0x264], 0
cmp dword [ebp - 8], 0
jne 0x4f7ac7
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x264]
cmp edx, dword [ecx + 8]
je 0x4f7ac7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xf4]
push ecx
call fcn.004f3800
add esp, 4
push str.database_schema_has_changed
mov edx, dword [ebp - 4]
push edx
call fcn.004f3380
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xf4], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax + 0x14]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x264]
je 0x4f7ab4
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0050a4c0
add esp, 8
mov edx, dword [ebp - 4]
push edx
call fcn.004f1b30
add esp, 4
mov dword [ebp - 8], 0x11
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x280]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx]
cmp edx, 9
jne 0x4f7b5b
mov dword [ebp - 0x278], 1
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0x14]
movzx edx, byte [ecx + 0x58]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x100]
cmp edx, ecx
jge 0x4f7b59
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp + 8]
mov dl, byte [eax + 0x58]
mov byte [ecx + 0x100], dl
jmp 0x4f7b65
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4f7b99
mov edx, dword [ebp - 0x270]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ebp - 0x270], eax
push 1
mov ecx, dword [ebp - 0x280]
push ecx
mov edx, dword [ebp - 0x24]
sub edx, 0x14
push edx
mov eax, dword [ebp - 0x268]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004faf40
add esp, 0x14
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jne 0x4f7bd0
jmp 0x4fac42
mov edx, dword [ebp - 0x274]
mov byte [edx + 0x1c], 1
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x278]
push ecx
mov edx, dword [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x26c]
push eax
call fcn.00500b30
add esp, 0x14
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffa
jne 0x4f7c56
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 0x4c]
add ecx, 5
mov edx, dword [ebp - 0x274]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 0x4c]
mov al, byte [eax + 0x59]
mov byte [edx + 4], al
jmp 0x4f7c75
mov ecx, dword [ebp - 0x274]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0x274]
add edx, 0x23
mov eax, dword [ebp - 0x274]
mov dword [eax + 0x48], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x688], ecx
cmp dword [ebp - 0x688], 0
je 0x4f7cc0
cmp dword [ebp - 0x688], 5
je 0x4f7ca2
cmp dword [ebp - 0x688], 0x10
je 0x4f7d7f
jmp 0x4f7dc6
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x70], eax
mov dword [ebp - 8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x74], edx
jmp 0x4fac07
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax]
push ecx
call fcn.00506dd0
add esp, 4
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
and edx, 0xf0
jne 0x4f7d01
mov eax, dword [ebp - 0x284]
and eax, 7
cmp eax, 5
je 0x4f7d0d
mov ecx, dword [ebp - 0x284]
and ecx, 7
cmp ecx, 2
je 0x4f7d0d
mov dword [ebp - 8], 0xb
jmp 0x4fac71
mov edx, dword [ebp - 0x284]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x274]
mov byte [eax + 0x21], dl
mov ecx, dword [ebp - 0x284]
and ecx, 2
neg ecx
sbb ecx, ecx
neg ecx
mov edx, dword [ebp - 0x274]
mov byte [edx + 0x22], cl
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x21]
test ecx, ecx
je 0x4f7d57
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffffa
je 0x4f7d71
mov ecx, dword [ebp - 0x274]
movzx edx, byte [ecx + 0x22]
test edx, edx
je 0x4f7d7d
mov eax, dword [ebp - 0x24]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffffa
je 0x4f7d7d
mov dword [ebp - 8], 0xb
jmp 0x4fac71
jmp 0x4f7dcb
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx + 1]
xor ecx, ecx
cmp eax, 0xfffffffa
setne cl
mov edx, dword [ebp - 0x274]
mov byte [edx + 0x21], cl
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x21]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x274]
mov byte [edx + 0x22], cl
mov eax, dword [ebp - 0x274]
mov dword [eax], 0
mov dword [ebp - 8], 0
jmp 0x4f7dcb
jmp 0x4fac71
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x288], edx
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004faf40
add esp, 0x14
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
jne 0x4f7e0b
jmp 0x4fac42
mov eax, dword [ebp - 0x28c]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp - 0x28c]
add ecx, 0x30
push ecx
mov edx, dword [0x5698d8]
push edx
push 0x1f4
push 1
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.004ec020
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f7e5b
push 1
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx + 0x30]
push edx
call fcn.004ff0d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f7f4e
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], 0
je 0x4f7f0e
push 2
lea ecx, [ebp - 0x290]
push ecx
mov edx, dword [ebp - 0x28c]
mov eax, dword [edx + 0x30]
push eax
call fcn.00506210
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f7f02
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
push 1
mov edx, dword [ebp - 0x290]
push edx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x30]
push ecx
call fcn.00500b30
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x4c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x4c]
mov dl, byte [edx + 0x59]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x4c]
add ecx, 5
mov edx, dword [ebp - 0x28c]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp - 0x28c]
mov byte [eax + 0x21], 0
jmp 0x4f7f4e
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
push edx
push 0
push 1
push 1
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x30]
push ecx
call fcn.00500b30
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x28c]
mov byte [edx + 0x21], 1
mov eax, dword [ebp - 0x28c]
add eax, 0x23
mov ecx, dword [ebp - 0x28c]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x28c]
movzx eax, byte [edx + 0x21]
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0x28c]
mov byte [ecx + 0x22], al
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x294], eax
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x24]
sub ecx, 0x14
push ecx
mov edx, dword [ebp - 0x294]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004faf40
add esp, 0x14
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
jne 0x4f7fab
jmp 0x4fac42
mov ecx, dword [ebp - 0x298]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x298]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx + 8]
mov byte [eax + 0x1f], dl
mov eax, dword [ebp - 0x298]
add eax, 0x23
mov ecx, dword [ebp - 0x298]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x298]
mov byte [edx + 0x21], 1
mov eax, dword [ebp - 0x298]
mov byte [eax + 0x22], 0
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x29c]
mov eax, dword [ecx + edx*4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004efc10
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x29c]
mov dword [eax + ecx*4], 0
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x2a4]
cmp dword [edx], 0
je 0x4f82f6
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x2a4]
mov byte [edx + 0x1c], 0
cmp dword [ebp - 0x2ac], 6
je 0x4f809d
cmp dword [ebp - 0x2ac], 0x40
je 0x4f809d
mov dword [ebp - 0x68c], 0
jmp 0x4f80a7
mov dword [ebp - 0x68c], 1
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [eax + 0x48]
mov dl, byte [ebp - 0x68c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x2a4]
movzx ecx, byte [eax + 0x21]
test ecx, ecx
je 0x4f8188
mov edx, dword [ebp - 0xc]
push edx
call fcn.004f2140
add esp, 4
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jne 0x4f811c
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2b8]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 0x2b4]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0x2a4]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x2a4]
mov byte [edx + 0x20], 1
jmp case.0x4f5350.11
lea eax, [ebp - 0x2a8]
push eax
push 0
mov ecx, dword [ebp - 0x2b4]
push ecx
mov edx, dword [ebp - 0x2b8]
push edx
push 0
push 0
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [eax]
push ecx
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8156
jmp 0x4fac71
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2b8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [edx + 0xc], ecx
xor edx, edx
cmp dword [ebp - 0x2a8], 0
sete dl
mov eax, dword [ebp - 0x2a4]
mov byte [eax + 0x19], dl
jmp 0x4f8213
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x2c4], ecx
mov dx, word [ebp - 0x2c8]
mov word [ebp - 0x2c0], dx
mov byte [ebp - 0x2be], 0
mov byte [ebp - 0x2bd], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x2bc], ecx
lea eax, [ebp - 0x2a8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x2c4]
push ecx
push 0
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx]
push eax
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8209
jmp 0x4fac71
mov ecx, dword [ebp - 0x2a4]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x2a4]
mov byte [edx + 0x20], 0
mov eax, dword [ebp - 0x2a4]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ecx + 0x48]
mov byte [edx], 0
cmp dword [ebp - 0x2ac], 0x75
je 0x4f8248
cmp dword [ebp - 0x2ac], 6
jne 0x4f828f
cmp dword [ebp - 0x2a8], 0
jge 0x4f8283
lea eax, [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ecx]
push edx
call fcn.00502260
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8277
jmp 0x4fac71
mov eax, dword [ebp - 0x2a4]
mov byte [eax + 0x19], 0
jmp 0x4f828d
mov dword [ebp - 0x2a8], 0
jmp 0x4f82e1
cmp dword [ebp - 0x2a8], 0
jl 0x4f82ca
lea ecx, [ebp - 0x2a8]
push ecx
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx]
push eax
call fcn.00502440
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f82be
jmp 0x4fac71
mov ecx, dword [ebp - 0x2a4]
mov byte [ecx + 0x19], 0
jmp 0x4f82e1
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx]
push eax
call fcn.00502230
add esp, 4
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x4f82f6
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
cmp dword [eax], 0
je 0x4f83bd
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx]
cmp edx, 0x7a
jne 0x4f834d
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x4c]
mov byte [ecx + 6], 1
lea edx, [ebp - 0x2d8]
push edx
push 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x18]
cdq
push edx
push eax
push 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax]
push ecx
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x2d4]
mov eax, dword [edx + 0x4c]
mov byte [eax + 6], 0
cmp dword [ebp - 8], 0
je 0x4f8394
jmp case.0x4f5350.11
xor ecx, ecx
cmp dword [ebp - 0x2d8], 0
sete cl
mov dword [ebp - 0x2cc], ecx
mov edx, dword [ebp - 0x2d4]
mov byte [edx + 0x20], 0
mov eax, dword [ebp - 0x2d4]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx]
cmp edx, 0x7a
jne 0x4f83df
cmp dword [ebp - 0x2cc], 0
je 0x4f83dd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4f83f4
cmp dword [ebp - 0x2cc], 0
jne 0x4f83f4
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0x10], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0xc]
push eax
call fcn.004f2330
add esp, 4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
je 0x4f85e3
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x30c]
push edx
call fcn.004f17e0
add esp, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x314]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ecx + 0x68], 0
lea edx, [ebp - 0x304]
push edx
push 0
mov eax, dword [ebp - 0x310]
cdq
push edx
push eax
push 0
mov eax, dword [ebp - 0x30c]
push eax
mov ecx, dword [ebp - 0x2f4]
push ecx
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f84f4
jmp 0x4fac71
cmp dword [ebp - 0x304], 0
jge 0x4f8530
lea edx, [ebp - 0x304]
push edx
mov eax, dword [ebp - 0x2f4]
push eax
call fcn.00502260
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x304], 0
je 0x4f8530
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
lea eax, [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x30c]
push ecx
mov edx, dword [ebp - 0x310]
push edx
push 0
mov eax, dword [ebp - 0x2e4]
push eax
call fcn.004f19b0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8564
jmp 0x4fac71
cmp dword [ebp - 0x304], 0
jle 0x4f857e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
lea eax, [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x2f4]
push ecx
call fcn.004f1870
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f85a2
jmp 0x4fac71
mov edx, dword [ebp - 0x300]
cmp edx, dword [ebp - 0x2f0]
jne 0x4f85cf
mov eax, dword [ebp - 0x2fc]
cmp eax, dword [ebp - 0x2ec]
jne 0x4f85cf
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x300]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2fc]
mov dword [eax + 4], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x318]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax]
mov dword [ebp - 0x320], ecx
cmp dword [ebp - 0x320], 0
je 0x4f86ba
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x330], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x32c], ecx
lea edx, [ebp - 0x324]
push edx
push 0
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [ebp - 0x330]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x320]
push edx
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
xor edx, edx
cmp dword [ebp - 0x324], 0
sete dl
mov eax, dword [ebp - 0x31c]
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0x31c]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x68], 0
cmp dword [ebp - 0x324], 0
je 0x4f86ba
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x334]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x58]
mov dword [edx], eax
mov ecx, dword [ecx + 0x5c]
mov dword [edx + 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x334]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0x58]
add eax, 1
mov ecx, dword [edx + 0x5c]
adc ecx, 0
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x30]
mov esi, dword [ebp - 0x334]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x58], eax
mov dword [edx + 0x5c], ecx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x344]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x348]
cmp dword [eax], 0
jne 0x4f8776
jmp 0x4f8b79
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx]
push edx
call fcn.00506dd0
add esp, 4
and eax, 3
cmp eax, 1
je 0x4f87af
mov dword [ebp - 8], 0xb
jmp 0x4fac71
mov eax, dword [ebp - 0x348]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
jne 0x4f89cb
mov edx, dword [ebp - 0x348]
movzx eax, byte [edx + 0x1d]
test eax, eax
je 0x4f87ec
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x340], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x33c], eax
jmp 0x4f88a0
lea ecx, [ebp - 0x34c]
push ecx
mov edx, dword [ebp - 0x348]
mov eax, dword [edx]
push eax
call fcn.00501ad0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8812
jmp 0x4fac71
cmp dword [ebp - 0x34c], 0
je 0x4f8831
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], 0
jmp 0x4f88a0
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp - 0x348]
mov eax, dword [edx]
push eax
call fcn.00500f10
add esp, 8
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x33c], edx
cmp dword [ebp - 0x340], 0xffffffff
jne 0x4f8882
cmp dword [ebp - 0x33c], 0x7fffffff
jne 0x4f8882
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x1b], 1
jmp 0x4f88a0
mov ecx, dword [ebp - 0x340]
add ecx, 1
mov edx, dword [ebp - 0x33c]
adc edx, 0
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc], 0
je 0x4f8980
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x364], edx
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x364]
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x690]
cmp dword [eax], 0xffffffff
jne 0x4f88f7
mov ecx, dword [ebp - 0x690]
cmp dword [ecx + 4], 0x7fffffff
je 0x4f8905
mov edx, dword [ebp - 0x348]
movzx eax, byte [edx + 0x1b]
test eax, eax
je 0x4f8911
mov dword [ebp - 8], 0xd
jmp 0x4fac71
mov ecx, dword [ebp - 0x364]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x698], edx
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x33c]
cmp ecx, dword [ebp - 0x694]
jg 0x4f8969
jl 0x4f894c
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x698]
jae 0x4f8969
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x364]
mov ecx, dword [ebp - 0x340]
mov dword [eax], ecx
mov edx, dword [ebp - 0x33c]
mov dword [eax + 4], edx
cmp dword [ebp - 0x33c], 0x7fffffff
ja 0x4f89c1
jb 0x4f8997
cmp dword [ebp - 0x340], 0xffffffff
jae 0x4f89c1
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x1d], 1
mov ecx, dword [ebp - 0x340]
add ecx, 1
mov edx, dword [ebp - 0x33c]
adc edx, 0
mov eax, dword [ebp - 0x348]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x4f89cb
mov ecx, dword [ebp - 0x348]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0x348]
movzx eax, byte [edx + 0x1b]
test eax, eax
je 0x4f8b58
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x340], edx
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x360], 0
cmp dword [ebp - 0x360], 0
jne 0x4f8a62
mov ecx, dword [ebp - 0x340]
and ecx, 0xffffff
mov edx, dword [ebp - 0x33c]
and edx, 0
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x6a0]
cmp eax, dword [ebp - 0x340]
jne 0x4f8a62
mov ecx, dword [ebp - 0x69c]
cmp ecx, dword [ebp - 0x33c]
jne 0x4f8a62
mov edx, dword [ebp - 0x340]
add edx, 1
mov eax, dword [ebp - 0x33c]
adc eax, 0
mov dword [ebp - 0x340], edx
mov dword [ebp - 0x33c], eax
jmp 0x4f8a9d
lea ecx, [ebp - 0x340]
push ecx
push 8
call fcn.005191d0
add esp, 8
cmp dword [ebp - 0x360], 5
jge 0x4f8a9d
mov edx, dword [ebp - 0x340]
and edx, 0xffffff
mov eax, dword [ebp - 0x33c]
and eax, 0
mov dword [ebp - 0x340], edx
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x340]
or ecx, dword [ebp - 0x33c]
jne 0x4f8aad
jmp 0x4f8b06
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x354], eax
lea ecx, [ebp - 0x34c]
push ecx
push 0
mov edx, dword [ebp - 0x354]
push edx
mov eax, dword [ebp - 0x358]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx]
push edx
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x360]
add eax, 1
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0x64
jge 0x4f8b25
cmp dword [ebp - 0x35c], 0
jne 0x4f8b25
cmp dword [ebp - 0x34c], 0
je 0x4f89fc
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x340]
mov dword [ecx + 0x38], edx
mov eax, dword [ebp - 0x33c]
mov dword [ecx + 0x3c], eax
cmp dword [ebp - 0x35c], 0
jne 0x4f8b58
cmp dword [ebp - 0x34c], 0
jne 0x4f8b58
mov dword [ebp - 8], 0xd
jmp 0x4fac71
mov ecx, dword [ebp - 0x348]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x348]
mov byte [edx + 0x20], 0
mov eax, dword [ebp - 0x348]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x340]
mov dword [ecx], edx
mov eax, dword [ebp - 0x33c]
mov dword [ecx + 4], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x368], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x380], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x36c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x380]
mov edx, dword [ecx]
mov dword [ebp - 0x378], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x4f8c29
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x104]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x104], ecx
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x4f8c49
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 4]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp - 0x37c]
movzx edx, byte [ecx + 0x1d]
test edx, edx
je 0x4f8ca2
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a8], ecx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x6a8]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 0x14]
jl 0x4f8ca2
jg 0x4f8c98
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x6a8]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x10]
jb 0x4f8ca2
mov edx, dword [ebp - 0x37c]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0x368]
movzx ecx, word [eax + 0x1c]
and ecx, 1
je 0x4f8ccb
mov edx, dword [ebp - 0x368]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x368]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x37c]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4f8e39
mov eax, dword [ebp - 0x37c]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
jne 0x4f8cfd
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x38]
push eax
call fcn.004f3800
add esp, 4
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ebp - 0x378]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x374]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ebp - 0x368]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0x368]
mov edx, dword [ebp - 0x368]
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x24]
je 0x4f8d49
mov ecx, dword [ebp - 0x37c]
movzx edx, byte [ecx + 0x1f]
test edx, edx
je 0x4f8dab
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x368]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x37c]
movzx ecx, byte [eax + 0x1f]
test ecx, ecx
jne 0x4f8da6
mov edx, dword [ebp - 0x368]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffbf
mov ecx, dword [ebp - 0x368]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x368]
movzx eax, word [edx + 0x1c]
or eax, 0x100
mov ecx, dword [ebp - 0x368]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x368]
mov dword [edx + 0x24], 0
jmp 0x4f8e2d
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 0x34]
add ecx, 2
push ecx
call fcn.004f3640
add esp, 4
mov edx, dword [ebp - 0x37c]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x37c]
cmp dword [eax + 0x38], 0
jne 0x4f8dda
jmp 0x4fac42
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx + 0x34]
push edx
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x38]
push eax
call fcn.00487410
add esp, 0xc
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 0x34]
mov byte [edx + ecx], 0
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx + 0x38]
mov byte [eax + edx + 1], 0
mov eax, dword [ebp - 0x37c]
mov byte [eax + 0x1c], 0
jmp 0x4f8eaf
mov ecx, dword [ebp - 0x368]
movzx edx, word [ecx + 0x1c]
and edx, 0x800
je 0x4f8e5b
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax]
mov dword [ebp - 0x384], ecx
jmp 0x4f8e65
mov dword [ebp - 0x384], 0
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
and eax, 8
push eax
mov ecx, dword [ebp - 0x384]
push ecx
mov edx, dword [ebp - 0x368]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x368]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
push 0
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx]
push eax
call fcn.00502d40
add esp, 0x20
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x37c]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x37c]
mov byte [edx + 0x20], 0
mov eax, dword [ebp - 0x37c]
mov dword [eax + 0x68], 0
cmp dword [ebp - 8], 0
jne 0x4f8f6f
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xb8], 0
je 0x4f8f6f
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x10], 0
je 0x4f8f6f
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
and edx, 4
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x388]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x18
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x39c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb8], 0
je 0x4f8fc2
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x10], 0
je 0x4f8fc2
mov edx, dword [ebp - 0x3a0]
mov eax, dword [edx + 8]
mov dword [ebp - 0x398], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x3a0]
push edx
call fcn.004f0d00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f8fdf
jmp 0x4fac71
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax]
push ecx
call fcn.00505e60
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3a0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0x3a0]
mov dword [eax + 0x68], 0
cmp dword [ebp - 8], 0
jne 0x4f9082
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xb8], 0
je 0x4f9082
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x10], 0
je 0x4f9082
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x398]
push edx
mov eax, dword [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x3a4]
push ecx
push 9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x4f90a2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x104]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x104], eax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
cmp dword [edx + 4], 0
je 0x4f90c6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x104]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004f1b00
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x104], 0
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b4]
mov edx, dword [ecx]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b4]
push eax
call fcn.004f0d00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f9136
jmp 0x4fac71
mov ecx, dword [ebp - 0x3b4]
movzx edx, byte [ecx + 0x22]
test edx, edx
je 0x4f919e
lea eax, [ebp - 0x3c0]
push eax
mov ecx, dword [ebp - 0x3b8]
push ecx
call fcn.00500f10
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x50]
cdq
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x3bc]
cmp eax, dword [ebp - 0x6ac]
jl 0x4f9190
jg 0x4f918b
mov ecx, dword [ebp - 0x3c0]
cmp ecx, dword [ebp - 0x6b0]
jbe 0x4f9190
jmp 0x4fac20
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3ac], edx
jmp 0x4f91c7
lea eax, [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x3b8]
push ecx
call fcn.00500fd0
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [edx + 0x50]
jbe 0x4f91c7
jmp 0x4fac20
push 0
mov ecx, dword [ebp - 0x3ac]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.004f1bc0
add esp, 0xc
test eax, eax
je 0x4f91e5
jmp 0x4fac42
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3ac]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 0x10
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x3b4]
movzx eax, byte [edx + 0x22]
test eax, eax
je 0x4f9237
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x3ac]
push eax
push 0
mov ecx, dword [ebp - 0x3b8]
push ecx
call fcn.00501040
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4f9259
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x3ac]
push ecx
push 0
mov edx, dword [ebp - 0x3b8]
push edx
call fcn.005015c0
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x1f], 1
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3cc]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
push ecx
call fcn.004f0d00
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f92a3
jmp 0x4fac71
mov edx, dword [ebp - 0x3d0]
movzx eax, byte [edx + 0x19]
test eax, eax
je 0x4f92cb
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x3c8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x3c4], eax
jmp 0x4f9338
mov ecx, dword [ebp - 0x3d0]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4f92f3
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x3c8], ecx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x3c4], edx
jmp 0x4f9338
mov eax, dword [ebp - 0x3d0]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x4f9308
jmp case.0x4f5350.11
lea edx, [ebp - 0x3c8]
push edx
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [eax]
push ecx
call fcn.00500f10
add esp, 8
mov edx, dword [ebp - 0x3c8]
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3c4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x1c]
and edx, 0xffffffe0
or edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x1c], dx
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x3d4]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3d8]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x3d8]
mov byte [edx + 0x19], 0
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [eax]
mov dword [ebp - 0x3e8], ecx
lea edx, [ebp - 0x3dc]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call fcn.00501ad0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3e4]
mov dl, byte [ebp - 0x3dc]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp - 0x3e4]
mov byte [eax + 0x20], 0
mov ecx, dword [ebp - 0x3e4]
mov dword [ecx + 0x68], 0
cmp dword [ebp - 0x3dc], 0
je 0x4f942b
mov edx, dword [ebp - 0x24]
cmp dword [edx + 8], 0
jle 0x4f942b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4f94af
lea ecx, [ebp - 0x3ec]
push ecx
mov edx, dword [ebp - 0x3f8]
push edx
call fcn.005017f0
add esp, 8
mov dword [ebp - 8], eax
xor eax, eax
cmp dword [ebp - 0x3ec], 0
sete al
mov ecx, dword [ebp - 0x3f4]
mov byte [ecx + 0x1a], al
mov edx, dword [ebp - 0x3f4]
mov byte [edx + 0x20], 0
mov eax, dword [ebp - 0x3f4]
mov dword [eax + 0x68], 0
jmp 0x4f94b9
mov dword [ebp - 0x3ec], 1
mov ecx, dword [ebp - 0x3f4]
mov dl, byte [ebp - 0x3ec]
mov byte [ecx + 0x1c], dl
cmp dword [ebp - 0x3ec], 0
je 0x4f94dd
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 4]
cmp dword [edx + 0xd8], 0
je 0x4f94f3
jmp 0x4faca9
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x3fc], ecx
cmp dword [ebp - 0x3fc], 0
jne 0x4f9516
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x3fc]
mov eax, dword [edx]
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x3fc]
movzx edx, byte [ecx + 0x1c]
test edx, edx
jne 0x4f95bf
mov dword [ebp - 0x404], 1
mov eax, dword [ebp - 0x24]
movzx ecx, byte [eax]
cmp ecx, 0x67
jne 0x4f9569
lea edx, [ebp - 0x404]
push edx
mov eax, dword [ebp - 0x400]
push eax
call fcn.00502260
add esp, 8
mov dword [ebp - 0x6b4], eax
jmp 0x4f9585
lea ecx, [ebp - 0x404]
push ecx
mov edx, dword [ebp - 0x400]
push edx
call fcn.00502440
add esp, 8
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ebp - 0x404]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp - 0x3fc]
mov dword [eax + 0x68], 0
cmp dword [ebp - 0x404], 0
jne 0x4f95bf
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x3fc]
mov byte [eax + 0x19], 0
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x408]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ecx]
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0
je 0x4f969d
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x1c]
and ecx, 0x800
je 0x4f962d
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004f1de0
add esp, 4
mov dword [ebp - 0x6b8], eax
jmp 0x4f9637
mov dword [ebp - 0x6b8], 0
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f969d
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
push eax
push 0
push 0
push 0x58b570
mov eax, dword [ebp - 0x418]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x410]
push edx
call fcn.00502d40
add esp, 0x20
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40c]
mov dword [eax + 0x68], 0
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x41c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
mov dword [ebp - 0x424], edx
cmp dword [ebp - 0x424], 0
je 0x4f9774
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x24]
mov ax, word [edx + 0xc]
mov word [ebp - 0x430], ax
mov byte [ebp - 0x42e], 0
mov byte [ebp - 0x42d], 0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x42c], edx
lea ecx, [ebp - 0x428]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x434]
push edx
push 0
mov eax, dword [ebp - 0x424]
push eax
call fcn.00501be0
add esp, 0x1c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f9767
cmp dword [ebp - 0x428], 0
jne 0x4f9767
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.00505e60
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x420]
mov dword [edx + 0x68], 0
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x438]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x43c]
mov ecx, dword [eax]
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0
je 0x4f980b
mov edx, dword [ebp - 0x43c]
movzx eax, byte [edx + 0x1c]
test eax, eax
jne 0x4f980b
lea ecx, [ebp - 0x448]
push ecx
mov edx, dword [ebp - 0x440]
push edx
call fcn.004f1870
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f97e3
jmp 0x4fac71
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x448]
mov dword [eax], ecx
mov edx, dword [ebp - 0x444]
mov dword [eax + 4], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x450]
cmp dword [eax], 0
je 0x4f9900
mov ecx, dword [ebp - 0x450]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x24]
mov cx, word [eax + 0x10]
mov word [ebp - 0x45c], cx
mov byte [ebp - 0x45a], 0
mov byte [ebp - 0x459], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x458], eax
mov edx, dword [ebp - 0x450]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx + 3]
mov byte [eax], dl
lea eax, [ebp - 0x454]
push eax
push 0
push 0
lea ecx, [ebp - 0x460]
push ecx
mov edx, dword [ebp - 0x450]
push edx
call fcn.004f19b0
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax + 0x48]
mov byte [ecx], 0
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
cmp eax, 0x28
jne 0x4f98dc
mov ecx, dword [ebp - 0x454]
neg ecx
mov dword [ebp - 0x454], ecx
jmp 0x4f98eb
mov edx, dword [ebp - 0x454]
add edx, 1
mov dword [ebp - 0x454], edx
cmp dword [ebp - 0x454], 0
jle 0x4f9900
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov dword [ebp - 0x46c], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x8c]
mov dword [ebp - 0x468], eax
jmp 0x4f992f
mov ecx, dword [ebp - 0x468]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x468], edx
cmp dword [ebp - 0x468], 0
je 0x4f9976
mov eax, dword [ebp - 0x468]
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4f9974
mov ecx, dword [ebp - 0x468]
movzx edx, byte [ecx + 0x101]
cmp edx, 2
jge 0x4f9974
mov eax, dword [ebp - 0x468]
cmp dword [eax + 0x70], 0
jl 0x4f9974
mov ecx, dword [ebp - 0x46c]
add ecx, 1
mov dword [ebp - 0x46c], ecx
jmp 0x4f9920
cmp dword [ebp - 0x46c], 1
jle 0x4f9995
mov dword [ebp - 8], 6
mov edx, dword [ebp + 8]
mov dword [edx + 0x7c], 2
jmp 0x4f9a26
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x470], ecx
lea edx, [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x470]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.005067a0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
and ecx, 0xffffffe0
or ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0x464]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
jne 0x4f9a26
cmp dword [ebp - 0x464], 0
je 0x4f9a26
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x464]
push ecx
mov edx, dword [ebp - 0x470]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
push edx
call fcn.0050c7a0
add esp, 0xc
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00506540
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov dword [ebp - 0x47c], eax
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
cmp eax, 0x32
jne 0x4f9a82
mov dword [ebp - 0x474], 5
jmp 0x4f9a8c
mov dword [ebp - 0x474], 2
mov ecx, dword [ebp - 0x474]
push ecx
lea edx, [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x47c]
mov ecx, dword [eax + 4]
push ecx
call fcn.00506210
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f9ad8
mov eax, dword [ebp - 0x478]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 8], 0
jne 0x4f9b13
mov edx, dword [ebp - 0x498]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 0x14]
movzx eax, word [edx + 0x5a]
and eax, 1
jne 0x4f9b13
jmp case.0x4f5350.11
mov ecx, 1
test ecx, ecx
je 0x4f9b31
cmp dword [ebp - 0x498], 1
jne 0x4f9b31
mov dword [ebp - 0x6bc], 0x5824dc
jmp 0x4f9b3b
mov dword [ebp - 0x6bc], 0x5824f0
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x48c], edx
mov eax, dword [ebp + 8]
add eax, 0xf4
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x480]
push eax
mov ecx, dword [ebp - 0x498]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx]
push ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov edx, dword [ebp - 4]
push edx
call fcn.004fcf50
add esp, 0x14
mov dword [ebp - 0x494], eax
cmp dword [ebp - 0x494], 0
jne 0x4f9bb0
jmp 0x4fac42
mov eax, dword [ebp - 4]
mov byte [eax + 0x80], 1
push 0
lea ecx, [ebp - 0x490]
push ecx
push fcn.004ed320
mov edx, dword [ebp - 0x494]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004ecfa0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jne 0x4f9bed
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x494]
push edx
call fcn.004f3800
add esp, 4
mov eax, dword [ebp - 4]
mov byte [eax + 0x80], 0
cmp dword [ebp - 8], 7
jne 0x4f9c11
jmp 0x4fac42
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x49c], edx
mov eax, dword [ebp - 0x49c]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00519d70
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0050a8e0
add esp, 0xc
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0050a3c0
add esp, 0xc
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.0051c370
add esp, 0xc
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
lea edx, [ecx*4 + 4]
push edx
call fcn.004f3640
add esp, 4
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0
jne 0x4f9cd0
jmp 0x4fac42
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x4a8], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x4b4], 0
jmp 0x4f9d12
mov eax, dword [ebp - 0x4b4]
add eax, 1
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b4]
cmp ecx, dword [ebp - 0x4ac]
jge 0x4f9d46
mov edx, dword [ebp - 0x4b4]
imul edx, edx, 0x28
add edx, dword [ebp - 0x28]
push edx
call fcn.004f2140
add esp, 4
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x4a4]
mov dword [edx + ecx*4], eax
jmp 0x4f9d03
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [ebp - 0x4a4]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0x4a0]
push edx
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x4ac]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 3]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00506e40
add esp, 0x14
mov dword [ebp - 0x4b0], eax
mov eax, dword [ebp - 0x4a0]
cdq
mov ecx, dword [ebp - 0x4a8]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x4a8]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f2420
add esp, 4
cmp dword [ebp - 0x4a0], 0
jne 0x4f9dd2
jmp 0x4f9dee
push fcn.004f3800
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f26d0
add esp, 0x14
movzx edx, byte [ebp - 0x1d]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004f1b80
add esp, 8
mov ecx, dword [ebp - 0x4a4]
push ecx
call fcn.004f3800
add esp, 4
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x28]
push edx
call fcn.004f2140
add esp, 4
push edx
push eax
mov eax, dword [ebp + 8]
add eax, 0x58
push eax
call fcn.0051ae30
add esp, 0xc
cmp eax, 7
jne 0x4f9e3a
jmp 0x4fac42
jmp case.0x4f5350.11
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xd8], 0
je 0x4f9e50
jmp 0x4faca9
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 8]
add eax, 0x58
push eax
call fcn.0051af60
add esp, 8
cmp eax, 0x65
jne 0x4f9e9a
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x4b8]
cmp eax, dword [edx + 0x68]
jl 0x4f9f0b
mov ecx, dword [ebp - 0x4b8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0x4b8]
add eax, 1
imul eax, eax, 0x18
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004f3290
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x6c], 0
jne 0x4f9f0b
jmp 0x4fac42
mov eax, dword [ebp - 0x4b8]
imul eax, eax, 0x18
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x6c]
mov dword [ebp - 0x4bc], eax
mov edx, dword [ebp - 0x4bc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x30]
mov dword [edx], ecx
mov eax, dword [eax + 0x34]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x4bc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x104]
mov dword [ecx + 8], eax
mov ecx, dword [ebp + 8]
add ecx, 0x58
mov edx, dword [ebp - 0x4bc]
add edx, 0xc
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov edx, dword [ebp + 8]
add edx, 0x58
push edx
call fcn.0051ae10
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x64], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
imul ecx, ecx, 0x18
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x6c]
mov dword [ebp - 0x4c0], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx]
mov dword [eax + 0x30], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x4c0]
mov ecx, dword [eax + 8]
mov dword [edx + 0x104], ecx
mov edx, dword [ebp + 8]
add edx, 0x58
push edx
call fcn.0051b000
add esp, 4
mov eax, dword [ebp - 0x4c0]
add eax, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x58
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004f2330
add esp, 4
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004f2330
add esp, 4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6c4], ecx
mov edx, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0x6c4]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 4]
jg 0x4fa058
jl 0x4fa048
mov edx, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0x6c4]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jae 0x4fa058
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x6c8], ecx
mov edx, dword [ebp - 0x6c8]
cmp dword [edx + 4], 0
jl 0x4fa08b
jg 0x4fa07f
mov eax, dword [ebp - 0x6c8]
cmp dword [eax], 0
jbe 0x4fa08b
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
cmp dword [ecx + 4], 0
jg 0x4fa0be
jl 0x4fa0b2
mov edx, dword [ebp - 0x6cc]
cmp dword [edx], 0
jae 0x4fa0be
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
mov ecx, dword [ebp - 0x6d0]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x4fa0eb
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx + 3]
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x4d4], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x4d0], edx
mov dword [ebp - 0x4c8], 0
jmp 0x4fa148
mov eax, dword [ebp - 0x4c8]
add eax, 1
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4d4]
add ecx, 0x28
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ebp - 0x4cc]
jge 0x4fa17c
mov eax, dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [ebp - 0x4d4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x4d4]
push eax
call fcn.004f4f50
add esp, 4
jmp 0x4fa12a
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x4c4], ecx
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx + 0x18]
add edx, 1
mov eax, dword [ebp - 0x4c4]
mov dword [eax + 0x18], edx
mov ecx, 1
mov word [ebp - 0x4f4], cx
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4f0], 0
mov edx, dword [ebp - 4]
mov dword [ebp - 0x500], edx
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e0], 0
mov eax, dword [ebp - 0x518]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4fa21f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx - 4]
mov dword [ebp - 0x4e0], eax
mov ecx, dword [ebp - 0x4d0]
push ecx
mov edx, dword [ebp - 0x4cc]
push edx
lea eax, [ebp - 0x518]
push eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x14]
call edx
add esp, 0xc
cmp dword [ebp - 0x4e4], 0
je 0x4fa278
push 0
lea eax, [ebp - 0x510]
push eax
call fcn.004e9cb0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xf4
push ecx
call fcn.004f33f0
add esp, 0xc
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 8], edx
lea eax, [ebp - 0x510]
push eax
call fcn.004f2100
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x51c], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x51c]
push eax
call fcn.004f2000
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jne 0x4fa2e4
push 0
mov ecx, dword [ebp - 0x51c]
push ecx
call fcn.004e9cb0
add esp, 4
push eax
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.004f33f0
add esp, 0xc
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, dword [ebp - 0x51c]
push ecx
call fcn.004f1b80
add esp, 8
mov edx, dword [ebp - 0x51c]
push edx
call fcn.004f2530
add esp, 4
test eax, eax
je 0x4fa310
jmp 0x4fac20
jmp case.0x4f5350.11
xor eax, eax
je 0x4fa31e
jmp 0x4fac6a
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.0051b080
add esp, 8
mov dword [ebp - 8], eax
xor eax, eax
je 0x4fa340
jmp 0x4fac6a
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x520], edx
mov eax, dword [ebp - 0x520]
push eax
call fcn.004ff810
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x65
jne 0x4fa389
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], 0
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
jne 0x4fa3a5
mov ecx, dword [ebp - 4]
push ecx
call fcn.004f1b30
add esp, 4
jmp 0x4fa3af
mov edx, dword [ebp + 8]
mov byte [edx + 0xff], 1
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x528], ecx
mov edx, dword [ebp - 0x24]
mov al, byte [edx + 0xc]
mov byte [ebp - 0x521], al
movzx ecx, byte [ebp - 0x521]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x528]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00508550
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jne 0x4fa42c
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x52c], eax
push 0
mov ecx, dword [ebp - 0x52c]
push ecx
push str.database_table_is_locked:
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.004f33f0
add esp, 0x10
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00509880
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4f5350.11
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.005092b0
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x4f5350.11
mov eax, dword [ebp + 8]
mov byte [eax + 0x101], 2
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.005095c0
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax + 0x101], 0
jmp case.0x4f5350.11
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x534], 0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x538]
mov ecx, dword [eax]
mov dword [ebp - 0x530], ecx
xor edx, edx
je 0x4fa4e4
jmp 0x4fac6a
lea eax, [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0x538]
push ecx
mov edx, dword [ebp - 0x530]
mov eax, dword [edx + 0x18]
call eax
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
je 0x4fa50c
jmp 0x4fac6a
cmp dword [ebp - 8], 0
jne 0x4fa58d
mov edx, dword [ebp - 0x534]
mov eax, dword [ebp - 0x538]
mov dword [edx], eax
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x24]
sub ecx, 0x14
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004faf40
add esp, 0x14
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 0
je 0x4fa571
mov edx, dword [ebp - 0x53c]
mov eax, dword [ebp - 0x534]
mov dword [edx + 0x60], eax
mov ecx, dword [ebp - 0x534]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [edx]
mov dword [eax + 0x64], ecx
jmp 0x4fa58d
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0x530]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x540], ecx
mov eax, dword [ebp - 0x540]
add eax, 0x28
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp - 0x548]
mov edx, dword [ecx]
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x540]
mov ecx, dword [eax]
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x558], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], 0
jmp 0x4fa62b
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x55c]
cmp edx, dword [ebp - 0x554]
jge 0x4fa674
mov eax, dword [ebp - 0x55c]
add eax, 1
imul eax, eax, 0x28
add eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x55c]
mov edx, dword [ebp - 0x560]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x560]
mov edx, dword [ecx + eax*4]
push edx
call fcn.004f4f50
add esp, 4
jmp 0x4fa61c
xor eax, eax
je 0x4fa67d
jmp 0x4fac6a
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x101], 1
mov edx, dword [ebp - 0x560]
push edx
mov eax, dword [ebp - 0x554]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x550]
push eax
mov ecx, dword [ebp - 0x54c]
mov edx, dword [ecx + 0x60]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov byte [edx + 0x101], 0
cmp dword [ebp - 8], 0
jne 0x4fa6ec
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x558], eax
xor ecx, ecx
je 0x4fa6f5
jmp 0x4fac6a
cmp dword [ebp - 0x558], 0
je 0x4fa70a
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x54c]
mov byte [ecx + 0x1c], 0
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x4fa741
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x568]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x564], eax
xor ecx, ecx
je 0x4fa75d
jmp 0x4fac6a
lea edx, [ebp - 0x570]
push edx
mov eax, dword [ebp - 0x568]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + 0x30]
call eax
add esp, 8
mov dword [ebp - 8], eax
xor ecx, ecx
je 0x4fa788
jmp 0x4fac6a
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x1c]
and eax, 0xffffffe0
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x570]
mov dword [edx], eax
mov ecx, dword [ebp - 0x56c]
mov dword [edx + 4], ecx
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x28
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x4c]
mov dword [ebp - 0x574], edx
mov ecx, dword [ebp - 0x5c0]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x4fa801
mov eax, dword [ebp - 0x574]
push eax
call fcn.004f2420
add esp, 4
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x5bc], ecx
push 0x40
push 0
lea edx, [ebp - 0x5b8]
push edx
call fcn.00486c20
add esp, 0xc
mov eax, dword [ebp - 0x574]
push eax
lea ecx, [ebp - 0x5b0]
push ecx
call fcn.004f2680
add esp, 8
movzx edx, word [ebp - 0x594]
and edx, 0xffffffe0
or edx, 1
mov word [ebp - 0x594], dx
xor eax, eax
je 0x4fa85a
jmp 0x4fac6a
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
push edx
lea eax, [ebp - 0x5b8]
push eax
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx + 0x60]
push edx
mov eax, dword [ebp - 0x5bc]
mov ecx, dword [eax + 0x2c]
call ecx
add esp, 0xc
mov dword [ebp - 8], eax
movzx edx, byte [ebp - 0x1d]
push edx
lea eax, [ebp - 0x5b0]
push eax
call fcn.004f1b80
add esp, 8
lea ecx, [ebp - 0x5b0]
push ecx
mov edx, dword [ebp - 0x574]
push edx
call fcn.004f2680
add esp, 8
xor eax, eax
je 0x4fa8b6
jmp 0x4fac6a
mov ecx, dword [ebp - 0x574]
push ecx
call fcn.004f2530
add esp, 4
test eax, eax
je 0x4fa8ce
jmp 0x4fac20
jmp case.0x4f5350.11
mov dword [ebp - 0x5c4], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x4fa905
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x5c8], eax
xor ecx, ecx
je 0x4fa921
jmp 0x4fac6a
mov edx, dword [ebp + 8]
mov byte [edx + 0x101], 1
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x5c8]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x101], 0
cmp dword [ebp - 8], 0
jne 0x4fa974
mov edx, dword [ebp - 0x5cc]
mov eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp - 0x5c8]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x5c4], eax
xor eax, eax
je 0x4fa97d
jmp 0x4fac6a
cmp dword [ebp - 0x5c4], 0
jne 0x4fa992
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x10], edx
jmp case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5d4], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x4c]
mov dword [ebp - 0x5d0], eax
mov edx, dword [ebp - 0x5d0]
movzx eax, word [edx + 0x1c]
and eax, 0x12
jne 0x4fa9e4
movzx ecx, byte [ebp - 0x1d]
push ecx
mov edx, dword [ebp - 0x5d0]
push edx
call fcn.004f1f20
add esp, 8
test eax, eax
je 0x4fa9e4
jmp 0x4fac42
xor eax, eax
je 0x4fa9ed
jmp 0x4fac6a
mov ecx, dword [ebp - 0x5d4]
push ecx
call fcn.005087e0
add esp, 4
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x5d4]
push ecx
mov edx, dword [ebp - 0x5d4]
mov eax, dword [edx]
mov ecx, dword [eax + 0x4c]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x5d4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00508800
add esp, 8
xor ecx, ecx
je 0x4faa3c
jmp 0x4fac6a
jmp case.0x4f5350.11
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5dc]
mov edx, dword [ecx]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x5e0], ecx
mov edx, dword [ebp - 0x5d8]
cmp dword [edx + 0x34], 0
jne 0x4faa97
push 0
push str.read_only_table
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.004f33f0
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x4fabb0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
imul ecx, ecx, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x4c]
mov dword [ebp - 0x5e8], ecx
mov dword [ebp - 0x5e4], 0
jmp 0x4faad3
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
cmp ecx, dword [ebp - 0x5e0]
jge 0x4fab16
mov edx, dword [ebp - 0x5e8]
push edx
call fcn.004f4f50
add esp, 4
mov eax, dword [ebp - 0x5e4]
mov ecx, dword [ebp - 0x5ec]
mov edx, dword [ebp - 0x5e8]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x5e8]
add eax, 0x28
mov dword [ebp - 0x5e8], eax
jmp 0x4faac4
xor ecx, ecx
je 0x4fab1f
jmp 0x4fac6a
mov edx, dword [ebp - 0x5dc]
push edx
call fcn.005087e0
add esp, 4
lea eax, [ebp - 0x5f8]
push eax
mov ecx, dword [ebp - 0x5ec]
push ecx
mov edx, dword [ebp - 0x5e0]
push edx
mov eax, dword [ebp - 0x5dc]
push eax
mov ecx, dword [ebp - 0x5d8]
mov edx, dword [ecx + 0x34]
call edx
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x5dc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00508800
add esp, 8
xor edx, edx
je 0x4fab77
jmp 0x4fac6a
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
je 0x4fab9b
cmp dword [ebp - 8], 0
jne 0x4fab9b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x5f8]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x5f4]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x104]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x104], edx
jmp case.0x4f5350.11
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x10], 0
je case.0x4f5350.11
mov edx, dword [ebp - 4]
cmp dword [edx + 0x94], 0
je case.0x4f5350.11
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x98]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x94]
call edx
add esp, 8
jmp 0x4f518e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x74], ecx
mov dword [ebp - 8], 1
mov edx, dword [ebp + 8]
push edx
call fcn.004efe10
add esp, 4
mov eax, dword [ebp + 8]
add eax, 0x114
push eax
call fcn.00513410
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x4facdf
push 0
push str.string_or_blob_too_big
mov ecx, dword [ebp + 8]
add ecx, 0xf4
push ecx
call fcn.004f33f0
add esp, 0xc
mov dword [ebp - 8], 0x12
jmp 0x4fabeb
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], 1
push 0
push 0x582578
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.004f33f0
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x4fabeb
mov dword [ebp - 8], 0x15
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x4fac83
mov dword [ebp - 8], 7
push 0
mov eax, dword [ebp - 8]
push eax
call fcn.004eb6b0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xf4
push ecx
call fcn.004f33f0
add esp, 0xc
jmp 0x4fabeb
mov dword [ebp - 8], 9
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x74], eax
push 0
mov ecx, dword [ebp - 8]
push ecx
call fcn.004eb6b0
add esp, 4
push eax
mov edx, dword [ebp + 8]
add edx, 0xf4
push edx
call fcn.004f33f0
add esp, 0xc
jmp 0x4fabeb
pop esi
mov esp, ebp
pop ebp
ret