Function at 0x5bfac0
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 0x5c2092
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 0x5bfb42
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5bfb38
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 0x5bfb1f
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 0x5bfb73
sub al, 2
je 0x5bfc00
jmp 0x5bfc09
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5bfb83
xor ebx, ebx
jmp 0x5c2074
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 [0x5acb6c]
jne 0x5bfbce
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5c2074
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 0x5bfc10
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5bfc10
xor ebx, ebx
jmp 0x5c2074
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.005bfaa0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c1fff
cmp dword [ebp - 0x48], 0
je 0x5bfc3f
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 0x5bfc5c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5bfcc5
je 0x5c188e
cmp esi, 0xd
ja case.default.0x5bfcdc
jmp dword [esi*4 + 0x5bfc8d]
cmp esi, 0x15
jg 0x5bfcfb
je 0x5c0df3
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5bfcdc
jmp dword [esi*4 + 0x5bfce3]
cmp esi, 0x19
jg 0x5bfd22
je 0x5c080a
sub esi, 0x16
je 0x5c1530
dec esi
je 0x5c17ad
dec esi
je 0x5c16cc
jmp case.default.0x5bfcdc
sub esi, 0x1a
je 0x5c085e
sub esi, 0xe5
je 0x5c1fff
jmp case.default.0x5bfcdc
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5bfe0d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfd72
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5bfd7f
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a44
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 0x5bfdcd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5bfdfe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
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.005b6d38
test al, al
jne 0x5bfef6
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bfe61
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5bfe6e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5bfebc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c1fff
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5bff17
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5bff24
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5bff72
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5bffc9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c00b3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c0018
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c0025
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a44
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 0x5c0073
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c00a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
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.005ba260
test al, al
jne 0x5c01a0
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c010b
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c0118
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c0166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c1fff
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c01c1
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c01ce
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c021c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c1fff
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005cbbd8
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.005b6d38
test al, al
jne 0x5c0365
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c02d0
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c02dd
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c032b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c1fff
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c0386
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c0393
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c03e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c1fff
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c0450
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005bf5c8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbd8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c0499
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 0x5c1fff
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5c04d3
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c04fd
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5c050c
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c053c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c0574
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 [0x5acb6c]
jne 0x5c0779
xor eax, eax
push ebp
push 0x5c05f5
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 0x5c05e8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c05db
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b4c68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c200c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbd8
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0835
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0894
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c08dd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0926
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c0968.0
jmp dword [eax*4 + 0x5c096f]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c09f9
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c68
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c0a0a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
cmp byte [ebp - 0x41], 0
je 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0a42
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c0a84.0
jmp dword [eax*4 + 0x5c0a8b]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c0b15
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c68
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c0b26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
cmp byte [ebp - 0x41], 0
je 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fff
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 0x5c0c4a
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 0x5c0c26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c0bab
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 0x5c0bab
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
inc dword [ebp - 0x4c]
jne 0x5c0b9b
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c0bd3
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 0x5c0c4a
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c0bf2
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 0x5c0c4a
mov eax, ebx
call fcn.004060a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005ac400
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c0c4a
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 0x5c0b78
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c0c4a
cmp dword [ebx + 8], 0xffffffff
jne 0x5c0b78
cmp dword [ebp - 0x30], 0
jne 0x5c1fff
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c0c73
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c200c
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 0x5c0c9c
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
inc dword [ebp - 0x50]
jne 0x5c0c8c
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 0x5c0cbc
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c200c
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.005cbb28
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5c0d18
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5c200c
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0d5b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c0d93
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005cbbd8
jmp 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c0dd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005befc0
test al, al
je 0x5c200c
jmp 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c0e19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bf990
test al, al
je 0x5c200c
jmp 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c0e5a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005bee60
test al, al
je 0x5c200c
jmp 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0ebc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
cmp byte [ebp - 9], 0
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c200c
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.0x5c0ee5.0
jmp dword [eax*4 + 0x5c0eec]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5c0f94
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005b4c68
cmp byte [ebp - 9], 0
je 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c200c
cmp dword [ebp - 0x2c], 0
je 0x5c0fa9
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c0fe3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5c1fff
mov dl, 1
mov eax, dword [0x5b09f4]
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.005bf170
test al, al
jne 0x5c106a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, ebx
call fcn.004060a0
jmp 0x5c200c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005bf170
test al, al
jne 0x5c108f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, ebx
call fcn.004060a0
jmp 0x5c200c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005bf170
test al, al
jne 0x5c10b4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, ebx
call fcn.004060a0
jmp 0x5c200c
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005bf170
test al, al
jne 0x5c10d9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, ebx
call fcn.004060a0
jmp 0x5c200c
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c10e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c10f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c1106
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c1115
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c1126
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c1159
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c1137
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c1159
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c1148
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5c1159
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5c116f
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c116f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, ebx
call fcn.004060a0
jmp 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005ac3b4
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c119e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c1278
je 0x5c135a
dec eax
je 0x5c11d8
dec eax
je 0x5c1484
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5c11f3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c121c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c123e
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1fff
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.005ac400
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c126a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
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 0x5c12a1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c12bc
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5c1fff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c12d7
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5c1fff
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.005ac400
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c1338
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 0x5c1fff
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c134c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
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 0x5c1383
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c13e0
cmp dword [ebx + 0x14], 0xffffffff
je 0x5c13e0
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5c13e0
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 0x5c1fff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c13fb
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5c1fff
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.005ac400
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c1462
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5c1462
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 0x5c1fff
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c1476
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
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 0x5c14ad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005ac400
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5c150e
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 0x5c1fff
cmp dword [ebp - 0x38], 0xffffffff
je 0x5c1522
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5c1fff
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c1565
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c157d
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c15af
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005b2cf8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c1654
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5c1637
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005b2cd8
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.005b65c8
test al, al
jne 0x5c16b2
cmp byte [ebp - 0x12], 0
je 0x5c1628
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 0x5c16b2
mov eax, dword [ebp - 0x16]
call fcn.005b2cd8
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.005b65c8
test al, al
jne 0x5c16b2
cmp byte [ebp - 0x12], 0
je 0x5c16a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
jmp 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c1701
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c1718.0
movzx eax, byte [eax + 0x5c171f]
jmp dword [eax*4 + 0x5c1731]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5c1fff
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c17e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5c17f9.0
movzx eax, byte [eax + 0x5c1800]
jmp dword [eax*4 + 0x5c1812]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5c1fff
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5c1fff
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 9], 0
je 0x5c18c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5c18db
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 0x12], 0
je 0x5c1910
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c1938
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 0x5c1fff
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 0x5c1fff
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5c198e
cmp byte [ebp - 9], 0
je 0x5c197f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5c19a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cbb28
cmp dword [ebp - 0x2c], 0
jne 0x5c19e1
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5c19e1
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.005ca06c
test al, al
je 0x5c200c
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5c19fa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5c1a09
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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 [0x5acb6c]
jne 0x5c1c14
xor eax, eax
push ebp
push 0x5c1a8a
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 0x5c1a7d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c1a70
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005b4c68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c200c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c1fff
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbbd8
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c1cad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
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.005be368
test al, al
je 0x5c200c
cmp byte [ebp - 0x1b], 0
je 0x5c1d97
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1cfc
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c1d09
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005b2a44
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 0x5c1d57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1d88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005b4c68
jmp 0x5c200c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
je 0x5c200c
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005be368
test al, al
jne 0x5c1e77
cmp byte [ebp - 0x12], 0
je 0x5c200c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1de2
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c1def
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c1e3d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c200c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c200c
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.005b7d14
cmp byte [ebp - 9], 0
je 0x5c1f46
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1eba
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c1ec7
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005b2a44
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 0x5c1f15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1f46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
cmp byte [ebp - 0x12], 0
je 0x5c1fff
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c1f67
and eax, 0x7f
bt dword [0x5c20a4], eax
jae 0x5c1f74
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005b2a44
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 0x5c1fc2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005ac344
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 0x5c1fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005cb834
jmp 0x5c1fff
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005b4c68
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bfc33
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c2025
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5bfc27
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5c206a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c204e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cbb28
dec esi
cmp esi, 0xffffffff
jne 0x5c203d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005cb864
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5c206a
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 0x5c2099
lea eax, [ebp - 0x84]
mov edx, 0xa
call fcn.00407ce8
ret