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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff7c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5c1aa6
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 0x5bf556
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5bf54c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.004060a0
dec esi
cmp esi, 0xffffffff
jne 0x5bf533
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 0x5bf587
sub al, 2
je 0x5bf614
jmp 0x5bf61d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5bf597
xor ebx, ebx
jmp 0x5c1a88
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [0x5ac660]
jne 0x5bf5e2
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5c1a88
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 0x5bf624
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5bf624
xor ebx, ebx
jmp 0x5c1a88
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.005bf4b4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c1a13
cmp dword [ebp - 0x48], 0
je 0x5bf653
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 0x5bf670
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 0x5bf6d9
je 0x5c12a2
cmp esi, 0xd
ja case.default.0x5bf6f0
jmp dword [esi*4 + 0x5bf6a1]
cmp esi, 0x15
jg 0x5bf70f
je 0x5c0807
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5bf6f0
jmp dword [esi*4 + 0x5bf6f7]
cmp esi, 0x19
jg 0x5bf736
je 0x5c021e
sub esi, 0x16
je 0x5c0f44
dec esi
je 0x5c11c1
dec esi
je 0x5c10e0
jmp case.default.0x5bf6f0
sub esi, 0x1a
je 0x5c0272
sub esi, 0xe5
je 0x5c1a13
jmp case.default.0x5bf6f0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5bf821
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bf786
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bf793
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b24f8
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 0x5bf7e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5bf812
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
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.005b6798
test al, al
jne 0x5bf90a
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bf875
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bf882
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bf8d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c1a13
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bf92b
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bf938
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bf986
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5bf9dd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5bfac7
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfa2c
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bfa39
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b24f8
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 0x5bfa87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5bfab8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
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.005b9cc0
test al, al
jne 0x5bfbb4
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfb1f
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bfb2c
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bfb7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c1a13
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfbd5
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bfbe2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bfc30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a13
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005cb4f8
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.005b6798
test al, al
jne 0x5bfd79
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfce4
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bfcf1
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bfd3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c1a13
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfd9a
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5bfda7
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5bfdf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a13
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5bfe64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005bf004
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb4f8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5bfead
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 0x5c1a13
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5bfee7
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 0x5bff11
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5bff20
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5bff50
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
ja 0x5bff88
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x5ac660]
jne 0x5c018d
xor eax, eax
push ebp
push 0x5c0009
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 0x5bfffc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5bffef
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b46ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1a20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb4f8
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0249
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c02a8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c02f1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c033a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c037c.0
jmp dword [eax*4 + 0x5c0383]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c040d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b46ec
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c041e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
cmp byte [ebp - 0x41], 0
je 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0456
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c0498.0
jmp dword [eax*4 + 0x5c049f]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0529
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b46ec
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c053a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
cmp byte [ebp - 0x41], 0
je 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
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 0x5c065e
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 0x5c063a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c05bf
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 0x5c05bf
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
inc dword [ebp - 0x4c]
jne 0x5c05af
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c05e7
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 0x5c065e
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0606
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 0x5c065e
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005abf28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c065e
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 0x5c058c
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c065e
cmp dword [ebx + 8], 0xffffffff
jne 0x5c058c
cmp dword [ebp - 0x30], 0
jne 0x5c1a13
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c0687
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1a20
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 0x5c06b0
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
inc dword [ebp - 0x50]
jne 0x5c06a0
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 0x5c06d0
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1a20
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.005cb450
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5c072c
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c1a20
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c076f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jae 0x5c07a7
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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.005cb4f8
jmp 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c07ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bea00
test al, al
je 0x5c1a20
jmp 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c082d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bf3a4
test al, al
je 0x5c1a20
jmp 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c086e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005be8a0
test al, al
je 0x5c1a20
jmp 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c08d0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
cmp byte [ebp - 9], 0
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a20
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.0x5c08f9.0
jmp dword [eax*4 + 0x5c0900]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c09a8
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b46ec
cmp byte [ebp - 9], 0
je 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a20
cmp dword [ebp - 0x2c], 0
je 0x5c09bd
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c09f7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1a13
mov dl, 1
mov eax, dword [0x5b04e8]
call fcn.00406070
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.005bebac
test al, al
jne 0x5c0a7e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, ebx
call fcn.004060a0
jmp 0x5c1a20
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005bebac
test al, al
jne 0x5c0aa3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, ebx
call fcn.004060a0
jmp 0x5c1a20
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005bebac
test al, al
jne 0x5c0ac8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, ebx
call fcn.004060a0
jmp 0x5c1a20
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005bebac
test al, al
jne 0x5c0aed
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, ebx
call fcn.004060a0
jmp 0x5c1a20
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c0afc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c0b0b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0b1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c0b29
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c0b3a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c0b6d
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c0b4b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c0b6d
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0b5c
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c0b6d
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c0b83
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0b83
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, ebx
call fcn.004060a0
jmp 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005abee0
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0bb2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 0x5c0c8c
je 0x5c0d6e
dec eax
je 0x5c0bec
dec eax
je 0x5c0e98
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5c0c07
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 0x5c0c30
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0c52
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1a13
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005abf28
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c0c7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
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 0x5c0cb5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c0cd0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5c1a13
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0ceb
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5c1a13
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005abf28
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c0d4c
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 0x5c1a13
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c0d60
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
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 0x5c0d97
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c0df4
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c0df4
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5c0df4
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.004080d4
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5c1a13
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0e0f
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1a13
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005abf28
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c0e76
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5c0e76
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 0x5c1a13
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c0e8a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
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 0x5c0ec1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005abf28
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c0f22
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 0x5c1a13
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c0f36
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1a13
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c0f79
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c0f91
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c0fc3
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005b27a8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c1068
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5c104b
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005b278c
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.005b6028
test al, al
jne 0x5c10c6
cmp byte [ebp - 0x12], 0
je 0x5c103c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 0x5c10c6
mov eax, dword [ebp - 0x16]
call fcn.005b278c
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.005b6028
test al, al
jne 0x5c10c6
cmp byte [ebp - 0x12], 0
je 0x5c10b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
jmp 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c1115
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c112c.0
movzx eax, byte [eax + 0x5c1133]
jmp dword [eax*4 + 0x5c1145]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5c1a13
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c11f6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c120d.0
movzx eax, byte [eax + 0x5c1214]
jmp dword [eax*4 + 0x5c1226]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1a13
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5c1a13
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 9], 0
je 0x5c12d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c12ef
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 0x12], 0
je 0x5c1324
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c134c
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 0x5c1a13
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 0x5c1a13
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5c13a2
cmp byte [ebp - 9], 0
je 0x5c1393
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5c13bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb450
cmp dword [ebp - 0x2c], 0
jne 0x5c13f5
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c13f5
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.005c9a58
test al, al
je 0x5c1a20
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5c140e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5c141d
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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 [0x5ac660]
jne 0x5c1628
xor eax, eax
push ebp
push 0x5c149e
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 0x5c1491
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c1484
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b46ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1a20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1a13
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb4f8
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c16c1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
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.005bddc8
test al, al
je 0x5c1a20
cmp byte [ebp - 0x1b], 0
je 0x5c17ab
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1710
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5c171d
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005b24f8
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 0x5c176b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c179c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b46ec
jmp 0x5c1a20
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
je 0x5c1a20
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005bddc8
test al, al
jne 0x5c188b
cmp byte [ebp - 0x12], 0
je 0x5c1a20
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c17f6
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5c1803
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5c1851
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a20
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.005b7774
cmp byte [ebp - 9], 0
je 0x5c195a
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c18ce
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5c18db
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b24f8
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 0x5c1929
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c195a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
cmp byte [ebp - 0x12], 0
je 0x5c1a13
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c197b
and eax, 0x7f
bt dword [0x5c1ab8], eax
jae 0x5c1988
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b24f8
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 0x5c19d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005abe7c
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 0x5c1a13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb18c
jmp 0x5c1a13
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005b46ec
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bf647
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c1a39
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bf63b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5c1a7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c1a62
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb450
dec esi
cmp esi, 0xffffffff
jne 0x5c1a51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb1b8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5c1a7e
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 0x5c1aad
lea eax, [ebp - 0x84]
mov edx, 0xa
call fcn.00407ce8
ret