Function at 0x5c8c28
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 0x5cb1f9
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 0x5c8cad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c8ca3
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.004069c8
dec esi
cmp esi, 0xffffffff
jne 0x5c8c8a
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 0x5c8cde
sub al, 2
je 0x5c8d71
jmp 0x5c8d7a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5c8cee
xor ebx, ebx
jmp 0x5cb1db
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 [0x5b5a18]
jne 0x5c8d3f
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5cb1db
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 0x5c8d81
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c8d81
xor ebx, ebx
jmp 0x5cb1db
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.005c8c08
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5cb166
cmp dword [ebp - 0x48], 0
je 0x5c8db0
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 0x5c8dcd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5c8e36
je 0x5ca9ef
cmp esi, 0xd
ja case.default.0x5c8e4d
jmp dword [esi*4 + 0x5c8dfe]
cmp esi, 0x15
jg 0x5c8e6c
je 0x5c9f56
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5c8e4d
jmp dword [esi*4 + 0x5c8e54]
cmp esi, 0x19
jg 0x5c8e93
je 0x5c9979
sub esi, 0x16
je 0x5ca691
dec esi
je 0x5ca90e
dec esi
je 0x5ca82d
jmp case.default.0x5c8e4d
sub esi, 0x1a
je 0x5c99cb
sub esi, 0xe5
je 0x5cb166
jmp case.default.0x5c8e4d
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5c8f7e
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c8ee3
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c8ef0
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bba30
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 0x5c8f3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5c8f6f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
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.005bfdb4
test al, al
jne 0x5c9067
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c8fd2
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c8fdf
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c902d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5cb166
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9088
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c9095
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c90e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c913a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5c9224
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9189
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c9196
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bba30
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 0x5c91e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5c9215
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
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.005c33f4
test al, al
jne 0x5c9311
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c927c
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c9289
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c92d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5cb166
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9332
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c933f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c938d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb166
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005d4f18
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.005bfdb4
test al, al
jne 0x5c94d6
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9441
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c944e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c949c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5cb166
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c94f7
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5c9504
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5c9552
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb166
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5c95c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005c8758
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f18
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c960a
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 0x5cb166
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5c9644
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5c966e
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5c967d
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c96ad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5c96e3
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 [0x5b5a18]
jne 0x5c98e8
xor eax, eax
push ebp
push 0x5c9764
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 0x5c9757
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c974a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bdc14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb173
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f18
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c99a4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9a01
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9a48
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9a8f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9acf.0
jmp dword [eax*4 + 0x5c9ad6]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9b60
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bdc14
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5c9b71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
cmp byte [ebp - 0x41], 0
je 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9ba9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9be9.0
jmp dword [eax*4 + 0x5c9bf0]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9c7a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bdc14
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5c9c8b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
cmp byte [ebp - 0x41], 0
je 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb166
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 0x5c9daf
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 0x5c9d8b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c9d10
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 0x5c9d10
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
inc dword [ebp - 0x4c]
jne 0x5c9d00
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c9d38
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 0x5c9daf
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c9d57
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 0x5c9daf
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b52e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c9daf
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 0x5c9cdd
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c9daf
cmp dword [ebx + 8], 0xffffffff
jne 0x5c9cdd
cmp dword [ebp - 0x30], 0
jne 0x5cb166
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c9dd8
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb173
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 0x5c9e01
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
inc dword [ebp - 0x50]
jne 0x5c9df1
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 0x5c9e21
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb173
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.005d4e6c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5c9e7d
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb173
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9ec0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5c9ef6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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.005d4f18
jmp 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5c9f3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8158
test al, al
je 0x5cb173
jmp 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5c9f7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8af8
test al, al
je 0x5cb173
jmp 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5c9fbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c7ff8
test al, al
je 0x5cb173
jmp 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca01f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
cmp byte [ebp - 9], 0
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb173
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.0x5ca048.0
jmp dword [eax*4 + 0x5ca04f]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca0f7
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bdc14
cmp byte [ebp - 9], 0
je 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb173
cmp dword [ebp - 0x2c], 0
je 0x5ca10c
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca146
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb166
mov dl, 1
mov eax, dword [0x5b9974]
call fcn.00406998
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.005c8304
test al, al
jne 0x5ca1cb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, ebx
call fcn.004069c8
jmp 0x5cb173
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005c8304
test al, al
jne 0x5ca1f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, ebx
call fcn.004069c8
jmp 0x5cb173
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005c8304
test al, al
jne 0x5ca215
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, ebx
call fcn.004069c8
jmp 0x5cb173
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005c8304
test al, al
jne 0x5ca23a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, ebx
call fcn.004069c8
jmp 0x5cb173
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca249
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca258
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca267
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca276
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca287
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca2ba
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca298
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca2ba
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca2a9
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca2ba
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca2d0
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca2d0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, ebx
call fcn.004069c8
jmp 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005b52a0
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca2ff
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5ca3d9
je 0x5ca4bb
dec eax
je 0x5ca339
dec eax
je 0x5ca5e5
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5ca354
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5ca37d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca39f
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb166
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b52e8
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca3cb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
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 0x5ca402
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca41d
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5cb166
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca438
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5cb166
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b52e8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca499
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 0x5cb166
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca4ad
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
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 0x5ca4e4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca541
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca541
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5ca541
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.00408b88
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5cb166
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca55c
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb166
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b52e8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca5c3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5ca5c3
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 0x5cb166
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca5d7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
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 0x5ca60e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b52e8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca66f
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 0x5cb166
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca683
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb166
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5ca6c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5ca6de
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5ca710
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005bbcd8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ca7b5
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5ca798
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005bbcbc
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.005bf644
test al, al
jne 0x5ca813
cmp byte [ebp - 0x12], 0
je 0x5ca789
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 0x5ca813
mov eax, dword [ebp - 0x16]
call fcn.005bbcbc
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.005bf644
test al, al
jne 0x5ca813
cmp byte [ebp - 0x12], 0
je 0x5ca804
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
jmp 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5ca862
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ca879.0
movzx eax, byte [eax + 0x5ca880]
jmp dword [eax*4 + 0x5ca892]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5cb166
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5ca943
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ca95a.0
movzx eax, byte [eax + 0x5ca961]
jmp dword [eax*4 + 0x5ca973]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb166
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5cb166
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 9], 0
je 0x5caa24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5caa3c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 0x12], 0
je 0x5caa71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5caa99
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 0x5cb166
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 0x5cb166
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5caaef
cmp byte [ebp - 9], 0
je 0x5caae0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5cab08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4e6c
cmp dword [ebp - 0x2c], 0
jne 0x5cab42
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5cab42
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.005d3470
test al, al
je 0x5cb173
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5cab5b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5cab6a
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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 [0x5b5a18]
jne 0x5cad7b
xor eax, eax
push ebp
push 0x5cabeb
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 0x5cabde
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5cabd1
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bdc14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb173
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb166
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f18
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5cae14
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
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.005c7518
test al, al
je 0x5cb173
cmp byte [ebp - 0x1b], 0
je 0x5caefe
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cae63
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5cae70
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005bba30
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 0x5caebe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5caeef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bdc14
jmp 0x5cb173
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
je 0x5cb173
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7518
test al, al
jne 0x5cafde
cmp byte [ebp - 0x12], 0
je 0x5cb173
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5caf49
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5caf56
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5cafa4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb173
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb173
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.005c0d90
cmp byte [ebp - 9], 0
je 0x5cb0ad
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb021
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5cb02e
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bba30
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 0x5cb07c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb0ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
cmp byte [ebp - 0x12], 0
je 0x5cb166
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb0ce
and eax, 0x7f
bt dword [0x5cb20c], eax
jae 0x5cb0db
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bba30
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 0x5cb129
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b523c
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 0x5cb166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4ba8
jmp 0x5cb166
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005bdc14
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8da4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5cb18c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8d98
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5cb1d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5cb1b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4e6c
dec esi
cmp esi, 0xffffffff
jne 0x5cb1a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4bd4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5cb1d1
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 0x5cb200
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.0040879c
ret