Function at 0x607668
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x609c39
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x6076ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x6076e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00406ad8
dec esi
cmp esi, 0xffffffff
jne 0x6076ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
call dword [edx]
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov bl, 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4c]
mov byte [ebp - 0x39], al
dec al
je 0x60771e
sub al, 2
je 0x6077b1
jmp 0x6077ba
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x60772e
xor ebx, ebx
jmp 0x609c1b
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x5f40b4]
jne 0x60777f
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x609c1b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x6077c1
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x6077c1
xor ebx, ebx
jmp 0x609c1b
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.00607648
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x609ba6
cmp dword [ebp - 0x48], 0
je 0x6077f0
mov eax, dword [ebp - 4]
call dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x60780d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
cmp esi, 0xe
jg 0x607876
je 0x60942f
cmp esi, 0xd
ja case.default.0x60788d
jmp dword [esi*4 + 0x60783e]
cmp esi, 0x15
jg 0x6078ac
je 0x608996
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x60788d
jmp dword [esi*4 + 0x607894]
cmp esi, 0x19
jg 0x6078d3
je 0x6083b9
sub esi, 0x16
je 0x6090d1
dec esi
je 0x60934e
dec esi
je 0x60926d
jmp case.default.0x60788d
sub esi, 0x1a
je 0x60840b
sub esi, 0xe5
je 0x609ba6
jmp case.default.0x60788d
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x6079be
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607923
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607930
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x60797e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x6079af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005fe4f4
test al, al
jne 0x607aa7
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607a12
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607a1f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607a6d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x609ba6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607ac8
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607ad5
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607b23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x607b7a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x607c64
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607bc9
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607bd6
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607c24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x607c55
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00601b48
test al, al
jne 0x607d51
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607cbc
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607cc9
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607d17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x609ba6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607d72
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607d7f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607dcd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609ba6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.00612058
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005fe4f4
test al, al
jne 0x607f16
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607e81
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607e8e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607edc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x609ba6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x607f37
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x607f44
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x607f92
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609ba6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x608001
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.00607170
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00612058
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x60804a
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x609ba6
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1a]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x16]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x608084
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x6080ae
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x6080bd
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6080ed
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
ja 0x608123
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [0x5f40b4]
jne 0x608328
xor eax, eax
push ebp
push 0x6081a4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x608197
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x60818a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005fc2fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x609bb3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00612058
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6083e4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608441
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608488
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6084cf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x60850f.0
jmp dword [eax*4 + 0x608516]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x6085a0
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005fc2fc
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x6085b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
cmp byte [ebp - 0x41], 0
je 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6085e9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x608629.0
jmp dword [eax*4 + 0x608630]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x6086ba
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005fc2fc
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x6086cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
cmp byte [ebp - 0x41], 0
je 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x6087ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
jmp 0x6087cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x608750
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebx + 0xc]
sub edx, eax
ja 0x608750
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
inc dword [ebp - 0x4c]
jne 0x608740
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x608778
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x6087ef
cmp dword [ebx + 0x18], 0xffffffff
je 0x608797
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x6087ef
mov eax, ebx
call fcn.00406ad8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005f3974
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x6087ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
je 0x60871d
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x6087ef
cmp dword [ebx + 8], 0xffffffff
jne 0x60871d
cmp dword [ebp - 0x30], 0
jne 0x609ba6
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x608818
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
inc edx
sub edx, eax
jg 0x608841
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
inc dword [ebp - 0x50]
jne 0x608831
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jb 0x608861
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x6088bd
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608900
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jae 0x608936
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00612058
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x60897b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00606b70
test al, al
je 0x609bb3
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x6089bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00607510
test al, al
je 0x609bb3
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x6089fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.006069e4
test al, al
je 0x609bb3
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608a5f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
cmp byte [ebp - 9], 0
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x608a88.0
jmp dword [eax*4 + 0x608a8f]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x608b37
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005fc2fc
cmp byte [ebp - 9], 0
je 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609bb3
cmp dword [ebp - 0x2c], 0
je 0x608b4c
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 9], 0
je 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608b86
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x609ba6
mov dl, 1
mov eax, dword [0x5f8008]
call fcn.00406aa8
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.00606d1c
test al, al
jne 0x608c0b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, ebx
call fcn.00406ad8
jmp 0x609bb3
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.00606d1c
test al, al
jne 0x608c30
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, ebx
call fcn.00406ad8
jmp 0x609bb3
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.00606d1c
test al, al
jne 0x608c55
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, ebx
call fcn.00406ad8
jmp 0x609bb3
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.00606d1c
test al, al
jne 0x608c7a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, ebx
call fcn.00406ad8
jmp 0x609bb3
cmp dword [ebx + 0x10], 0xffffffff
je 0x608c89
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x608c98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x608ca7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x608cb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x608cc7
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x608cfa
cmp dword [ebx + 0x14], 0xffffffff
je 0x608cd8
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x608cfa
cmp dword [ebx + 0x18], 0xffffffff
je 0x608ce9
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x608cfa
cmp dword [ebx + 0x1c], 0xffffffff
je 0x608d10
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608d10
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, ebx
call fcn.00406ad8
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005f3920
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x608d3f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
jb 0x608e19
je 0x608efb
dec eax
je 0x608d79
dec eax
je 0x609025
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x608d94
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x608dbd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x608ddf
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x609ba6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406ad8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005f3974
cmp dword [ebp - 0x38], 0xffffffff
je 0x608e0b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x608e42
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
cmp dword [ebx + 0x10], 0xffffffff
je 0x608e5d
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x609ba6
cmp dword [ebx + 0x18], 0xffffffff
je 0x608e78
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x609ba6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406ad8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005f3974
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x608ed9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x609ba6
cmp dword [ebp - 0x38], 0xffffffff
je 0x608eed
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x608f24
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x608f81
cmp dword [ebx + 0x14], 0xffffffff
je 0x608f81
cmp dword [ebx + 0x14], 0xfffffffe
je 0x608f81
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.00408cc0
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x609ba6
cmp dword [ebx + 0x18], 0xffffffff
je 0x608f9c
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x609ba6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406ad8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005f3974
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x609003
cmp dword [ebp - 0x2c], 0xffffffff
je 0x609003
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x609ba6
cmp dword [ebp - 0x38], 0xffffffff
je 0x609017
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x60904e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406ad8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005f3974
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x6090af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x609ba6
cmp dword [ebp - 0x38], 0xffffffff
je 0x6090c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x609ba6
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x609106
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x60911e
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x609150
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005fa3c0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x6091f5
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x6091d8
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005fa3a4
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x11]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1a]
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
call fcn.005fdcf0
test al, al
jne 0x609253
cmp byte [ebp - 0x12], 0
je 0x6091c9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0x11]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x609253
mov eax, dword [ebp - 0x16]
call fcn.005fa3a4
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 0xffffffff
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1a]
call fcn.005fdcf0
test al, al
jne 0x609253
cmp byte [ebp - 0x12], 0
je 0x609244
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x6092a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x6092b9.0
movzx eax, byte [eax + 0x6092c0]
jmp dword [eax*4 + 0x6092d2]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x609ba6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x609383
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x60939a.0
movzx eax, byte [eax + 0x6093a1]
jmp dword [eax*4 + 0x6093b3]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x609ba6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 9], 0
je 0x609464
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x60947c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 0x12], 0
je 0x6094b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x6094d9
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
jmp 0x609ba6
mov eax, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
jmp 0x609ba6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x60952f
cmp byte [ebp - 9], 0
je 0x609520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x609548
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611fa8
cmp dword [ebp - 0x2c], 0
jne 0x609582
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x609582
mov eax, dword [ebp - 0x11]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.00610534
test al, al
je 0x609bb3
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x60959b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x6095aa
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
cmp eax, dword [0x5f40b4]
jne 0x6097bb
xor eax, eax
push ebp
push 0x60962b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x60961e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x609611
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005fc2fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x609bb3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00612058
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x609854
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x23]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
cmp byte [ebp - 0x1b], 0
je 0x60993e
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x6098a3
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x6098b0
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x6098fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x60992f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005fc2fc
jmp 0x609bb3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
je 0x609bb3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00605c6c
test al, al
jne 0x609a1e
cmp byte [ebp - 0x12], 0
je 0x609bb3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x609989
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x609996
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x6099e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609bb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609bb3
mov eax, dword [ebp - 0x23]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x1f]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 4]
call fcn.005ff4e4
cmp byte [ebp - 9], 0
je 0x609aed
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x609a61
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x609a6e
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x609abc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609aed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
cmp byte [ebp - 0x12], 0
je 0x609ba6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x609b0e
and eax, 0x7f
bt dword [0x609c4c], eax
jae 0x609b1b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005fa0ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x609b69
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f38ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x609ba6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00611ce4
jmp 0x609ba6
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005fc2fc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x6077e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x609bcc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x6077d8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x609c11
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x609bf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611fa8
dec esi
cmp esi, 0xffffffff
jne 0x609be4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00611d10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x609c11
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x609c40
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.004088d4
ret