Function at 0x5c8d3c
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 0x5cb30d
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 0x5c8dc1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c8db7
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 0x5c8d9e
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 0x5c8df2
sub al, 2
je 0x5c8e85
jmp 0x5c8e8e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5c8e02
xor ebx, ebx
jmp 0x5cb2ef
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 [0x5b5c04]
jne 0x5c8e53
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5cb2ef
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 0x5c8e95
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c8e95
xor ebx, ebx
jmp 0x5cb2ef
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.005c8d1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5cb27a
cmp dword [ebp - 0x48], 0
je 0x5c8ec4
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 0x5c8ee1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5c8f4a
je 0x5cab03
cmp esi, 0xd
ja case.default.0x5c8f61
jmp dword [esi*4 + 0x5c8f12]
cmp esi, 0x15
jg 0x5c8f80
je 0x5ca06a
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5c8f61
jmp dword [esi*4 + 0x5c8f68]
cmp esi, 0x19
jg 0x5c8fa7
je 0x5c9a8d
sub esi, 0x16
je 0x5ca7a5
dec esi
je 0x5caa22
dec esi
je 0x5ca941
jmp case.default.0x5c8f61
sub esi, 0x1a
je 0x5c9adf
sub esi, 0xe5
je 0x5cb27a
jmp case.default.0x5c8f61
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5c9092
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c8ff7
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c9004
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc14
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 0x5c9052
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5c9083
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
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.005bfec8
test al, al
jne 0x5c917b
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c90e6
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c90f3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c9141
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5cb27a
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c919c
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c91a9
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c91f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c924e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5c9338
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c929d
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c92aa
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc14
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 0x5c92f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5c9329
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
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.005c3508
test al, al
jne 0x5c9425
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9390
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c939d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c93eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5cb27a
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9446
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c9453
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c94a1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb27a
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005d502c
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.005bfec8
test al, al
jne 0x5c95ea
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9555
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c9562
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c95b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5cb27a
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c960b
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5c9618
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5c9666
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb27a
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5c96d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005c886c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d502c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c971e
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 0x5cb27a
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5c9758
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5c9782
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5c9791
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c97c1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5c97f7
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 [0x5b5c04]
jne 0x5c99fc
xor eax, eax
push ebp
push 0x5c9878
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 0x5c986b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c985e
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bddf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb287
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d502c
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9ab8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9b15
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9b5c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9ba3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9be3.0
jmp dword [eax*4 + 0x5c9bea]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9c74
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bddf8
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5c9c85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
cmp byte [ebp - 0x41], 0
je 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9cbd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9cfd.0
jmp dword [eax*4 + 0x5c9d04]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9d8e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bddf8
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5c9d9f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
cmp byte [ebp - 0x41], 0
je 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb27a
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 0x5c9ec3
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 0x5c9e9f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c9e24
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 0x5c9e24
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
inc dword [ebp - 0x4c]
jne 0x5c9e14
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c9e4c
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 0x5c9ec3
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c9e6b
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 0x5c9ec3
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c9ec3
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 0x5c9df1
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c9ec3
cmp dword [ebx + 8], 0xffffffff
jne 0x5c9df1
cmp dword [ebp - 0x30], 0
jne 0x5cb27a
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c9eec
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb287
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 0x5c9f15
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
inc dword [ebp - 0x50]
jne 0x5c9f05
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 0x5c9f35
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb287
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.005d4f80
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5c9f91
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb287
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9fd4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5ca00a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005d502c
jmp 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5ca04f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c826c
test al, al
je 0x5cb287
jmp 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5ca090
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8c0c
test al, al
je 0x5cb287
jmp 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5ca0d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c810c
test al, al
je 0x5cb287
jmp 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca133
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
cmp byte [ebp - 9], 0
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb287
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.0x5ca15c.0
jmp dword [eax*4 + 0x5ca163]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca20b
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bddf8
cmp byte [ebp - 9], 0
je 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb287
cmp dword [ebp - 0x2c], 0
je 0x5ca220
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca25a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb27a
mov dl, 1
mov eax, dword [0x5b9b58]
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.005c8418
test al, al
jne 0x5ca2df
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, ebx
call fcn.004069c8
jmp 0x5cb287
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005c8418
test al, al
jne 0x5ca304
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, ebx
call fcn.004069c8
jmp 0x5cb287
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005c8418
test al, al
jne 0x5ca329
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, ebx
call fcn.004069c8
jmp 0x5cb287
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005c8418
test al, al
jne 0x5ca34e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, ebx
call fcn.004069c8
jmp 0x5cb287
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca35d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca36c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca37b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca38a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca39b
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca3ce
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca3ac
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca3ce
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca3bd
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca3ce
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca3e4
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca3e4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, ebx
call fcn.004069c8
jmp 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005b548c
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca413
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5ca4ed
je 0x5ca5cf
dec eax
je 0x5ca44d
dec eax
je 0x5ca6f9
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5ca468
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5ca491
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca4b3
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb27a
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.005b54d4
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca4df
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
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 0x5ca516
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca531
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5cb27a
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca54c
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5cb27a
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.005b54d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca5ad
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 0x5cb27a
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca5c1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
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 0x5ca5f8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca655
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca655
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5ca655
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 0x5cb27a
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca670
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb27a
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.005b54d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca6d7
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5ca6d7
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 0x5cb27a
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca6eb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
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 0x5ca722
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005b54d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca783
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 0x5cb27a
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca797
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb27a
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5ca7da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5ca7f2
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5ca824
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005bbebc
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ca8c9
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5ca8ac
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005bbea0
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.005bf758
test al, al
jne 0x5ca927
cmp byte [ebp - 0x12], 0
je 0x5ca89d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 0x5ca927
mov eax, dword [ebp - 0x16]
call fcn.005bbea0
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.005bf758
test al, al
jne 0x5ca927
cmp byte [ebp - 0x12], 0
je 0x5ca918
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
jmp 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5ca976
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ca98d.0
movzx eax, byte [eax + 0x5ca994]
jmp dword [eax*4 + 0x5ca9a6]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5cb27a
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5caa57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5caa6e.0
movzx eax, byte [eax + 0x5caa75]
jmp dword [eax*4 + 0x5caa87]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb27a
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5cb27a
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 9], 0
je 0x5cab38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5cab50
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 0x12], 0
je 0x5cab85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5cabad
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 0x5cb27a
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 0x5cb27a
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5cac03
cmp byte [ebp - 9], 0
je 0x5cabf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5cac1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4f80
cmp dword [ebp - 0x2c], 0
jne 0x5cac56
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5cac56
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.005d3584
test al, al
je 0x5cb287
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5cac6f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5cac7e
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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 [0x5b5c04]
jne 0x5cae8f
xor eax, eax
push ebp
push 0x5cacff
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 0x5cacf2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5cace5
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bddf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb287
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb27a
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d502c
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5caf28
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
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.005c762c
test al, al
je 0x5cb287
cmp byte [ebp - 0x1b], 0
je 0x5cb012
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5caf77
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5caf84
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005bbc14
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 0x5cafd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb003
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bddf8
jmp 0x5cb287
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
je 0x5cb287
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c762c
test al, al
jne 0x5cb0f2
cmp byte [ebp - 0x12], 0
je 0x5cb287
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb05d
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5cb06a
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5cb0b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb287
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.005c0ea4
cmp byte [ebp - 9], 0
je 0x5cb1c1
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb135
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5cb142
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc14
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 0x5cb190
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb1c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
cmp byte [ebp - 0x12], 0
je 0x5cb27a
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb1e2
and eax, 0x7f
bt dword [0x5cb320], eax
jae 0x5cb1ef
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc14
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 0x5cb23d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b5428
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 0x5cb27a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4cbc
jmp 0x5cb27a
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005bddf8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8eb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5cb2a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8eac
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5cb2e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5cb2c9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4f80
dec esi
cmp esi, 0xffffffff
jne 0x5cb2b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4ce8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5cb2e5
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 0x5cb314
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.0040879c
ret