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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff7c
push ebx
push esi
push edi
xor edx, 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 - 0x60], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5c2066
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 0x5bfb16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5bfb0c
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.004060a0
dec esi
cmp esi, 0xffffffff
jne 0x5bfaf3
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 0x5bfb47
sub al, 2
je 0x5bfbd4
jmp 0x5bfbdd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5bfb57
xor ebx, ebx
jmp 0x5c2048
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 eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [0x5acb40]
jne 0x5bfba2
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5c2048
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 0x5bfbe4
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5bfbe4
xor ebx, ebx
jmp 0x5c2048
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.005bfa74
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c1fd3
cmp dword [ebp - 0x48], 0
je 0x5bfc13
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 0x5bfc30
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 0x5bfc99
je 0x5c1862
cmp esi, 0xd
ja case.default.0x5bfcb0
jmp dword [esi*4 + 0x5bfc61]
cmp esi, 0x15
jg 0x5bfccf
je 0x5c0dc7
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5bfcb0
jmp dword [esi*4 + 0x5bfcb7]
cmp esi, 0x19
jg 0x5bfcf6
je 0x5c07de
sub esi, 0x16
je 0x5c1504
dec esi
je 0x5c1781
dec esi
je 0x5c16a0
jmp case.default.0x5bfcb0
sub esi, 0x1a
je 0x5c0832
sub esi, 0xe5
je 0x5c1fd3
jmp case.default.0x5bfcb0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5bfde1
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfd46
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5bfd53
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a18
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 0x5bfda1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5bfdd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
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.005b6d0c
test al, al
jne 0x5bfeca
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfe35
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5bfe42
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5bfe90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c1fd3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfeeb
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5bfef8
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5bff46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5bff9d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c0087
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bffec
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5bfff9
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a18
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 0x5c0047
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c0078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
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.005ba234
test al, al
jne 0x5c0174
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c00df
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c00ec
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c013a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c1fd3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c0195
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c01a2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c01f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fd3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005cbbac
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.005b6d0c
test al, al
jne 0x5c0339
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c02a4
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c02b1
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c02ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c1fd3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c035a
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c0367
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c03b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fd3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c0424
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005bf59c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbac
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c046d
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 0x5c1fd3
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5c04a7
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 0x5c04d1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5c04e0
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0510
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c0548
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x5acb40]
jne 0x5c074d
xor eax, eax
push ebp
push 0x5c05c9
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 0x5c05bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c05af
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b4c3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fe0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbac
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0809
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0868
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c08b1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c08fa
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c093c.0
jmp dword [eax*4 + 0x5c0943]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09cd
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c3c
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c09de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
cmp byte [ebp - 0x41], 0
je 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0a16
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c0a58.0
jmp dword [eax*4 + 0x5c0a5f]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0ae9
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c3c
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c0afa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
cmp byte [ebp - 0x41], 0
je 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fd3
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 0x5c0c1e
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 0x5c0bfa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c0b7f
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 0x5c0b7f
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
inc dword [ebp - 0x4c]
jne 0x5c0b6f
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c0ba7
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 0x5c0c1e
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0bc6
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 0x5c0c1e
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac3d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c0c1e
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 0x5c0b4c
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c0c1e
cmp dword [ebx + 8], 0xffffffff
jne 0x5c0b4c
cmp dword [ebp - 0x30], 0
jne 0x5c1fd3
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c0c47
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1fe0
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 0x5c0c70
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
inc dword [ebp - 0x50]
jne 0x5c0c60
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 0x5c0c90
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1fe0
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.005cbafc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5c0cec
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1fe0
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0d2f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c0d67
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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.005cbbac
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c0dac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bef94
test al, al
je 0x5c1fe0
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c0ded
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bf964
test al, al
je 0x5c1fe0
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c0e2e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bee34
test al, al
je 0x5c1fe0
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0e90
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
cmp byte [ebp - 9], 0
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fe0
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.0x5c0eb9.0
jmp dword [eax*4 + 0x5c0ec0]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f68
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c3c
cmp byte [ebp - 9], 0
je 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fe0
cmp dword [ebp - 0x2c], 0
je 0x5c0f7d
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0fb7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [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 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov dl, 1
mov eax, dword [0x5b09c8]
call fcn.00406070
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.005bf144
test al, al
jne 0x5c103e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, ebx
call fcn.004060a0
jmp 0x5c1fe0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005bf144
test al, al
jne 0x5c1063
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, ebx
call fcn.004060a0
jmp 0x5c1fe0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005bf144
test al, al
jne 0x5c1088
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, ebx
call fcn.004060a0
jmp 0x5c1fe0
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005bf144
test al, al
jne 0x5c10ad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, ebx
call fcn.004060a0
jmp 0x5c1fe0
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c10bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c10cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c10da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c10e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c10fa
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c112d
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c110b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c112d
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c111c
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c112d
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c1143
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c1143
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, ebx
call fcn.004060a0
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005ac388
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c1172
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 0x5c124c
je 0x5c132e
dec eax
je 0x5c11ac
dec eax
je 0x5c1458
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5c11c7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 0x5c11f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c1212
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1fd3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac3d4
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c123e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
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 0x5c1275
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c1290
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5c1fd3
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c12ab
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5c1fd3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac3d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c130c
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 0x5c1fd3
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c1320
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
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 0x5c1357
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c13b4
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c13b4
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5c13b4
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.004080d4
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5c1fd3
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c13cf
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1fd3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac3d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c1436
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5c1436
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 0x5c1fd3
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c144a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
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 0x5c1481
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac3d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c14e2
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 0x5c1fd3
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c14f6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c1539
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c1551
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c1583
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005b2ccc
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c1628
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5c160b
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005b2cac
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.005b659c
test al, al
jne 0x5c1686
cmp byte [ebp - 0x12], 0
je 0x5c15fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 0x5c1686
mov eax, dword [ebp - 0x16]
call fcn.005b2cac
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.005b659c
test al, al
jne 0x5c1686
cmp byte [ebp - 0x12], 0
je 0x5c1677
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
jmp 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c16d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c16ec.0
movzx eax, byte [eax + 0x5c16f3]
jmp dword [eax*4 + 0x5c1705]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5c1fd3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c17b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c17cd.0
movzx eax, byte [eax + 0x5c17d4]
jmp dword [eax*4 + 0x5c17e6]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1fd3
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5c1fd3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 9], 0
je 0x5c1897
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c18af
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 0x12], 0
je 0x5c18e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c190c
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 0x5c1fd3
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 0x5c1fd3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5c1962
cmp byte [ebp - 9], 0
je 0x5c1953
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5c197b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbafc
cmp dword [ebp - 0x2c], 0
jne 0x5c19b5
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c19b5
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.005ca040
test al, al
je 0x5c1fe0
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5c19ce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5c19dd
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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 [0x5acb40]
jne 0x5c1be8
xor eax, eax
push ebp
push 0x5c1a5e
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 0x5c1a51
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c1a44
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b4c3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fe0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fd3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbac
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c1c81
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
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.005be33c
test al, al
je 0x5c1fe0
cmp byte [ebp - 0x1b], 0
je 0x5c1d6b
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1cd0
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c1cdd
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005b2a18
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 0x5c1d2b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1d5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c3c
jmp 0x5c1fe0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
je 0x5c1fe0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be33c
test al, al
jne 0x5c1e4b
cmp byte [ebp - 0x12], 0
je 0x5c1fe0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1db6
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c1dc3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c1e11
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fe0
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.005b7ce8
cmp byte [ebp - 9], 0
je 0x5c1f1a
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1e8e
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c1e9b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a18
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 0x5c1ee9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1f1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
cmp byte [ebp - 0x12], 0
je 0x5c1fd3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1f3b
and eax, 0x7f
bt dword [0x5c2078], eax
jae 0x5c1f48
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a18
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 0x5c1f96
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac318
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 0x5c1fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb808
jmp 0x5c1fd3
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005b4c3c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bfc07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c1ff9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bfbfb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5c203e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c2022
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbafc
dec esi
cmp esi, 0xffffffff
jne 0x5c2011
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb838
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5c203e
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 0x5c206d
lea eax, [ebp - 0x84]
mov edx, 0xa
call fcn.00407ce8
ret