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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5cb411
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 0x5c8ec5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5c8ebb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.004069c8
dec esi
cmp esi, 0xffffffff
jne 0x5c8ea2
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 0x5c8ef6
sub al, 2
je 0x5c8f89
jmp 0x5c8f92
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5c8f06
xor ebx, ebx
jmp 0x5cb3f3
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x5b5c30]
jne 0x5c8f57
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5cb3f3
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 0x5c8f99
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5c8f99
xor ebx, ebx
jmp 0x5cb3f3
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.005c8e20
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5cb37e
cmp dword [ebp - 0x48], 0
je 0x5c8fc8
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 0x5c8fe5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 0x5c904e
je 0x5cac07
cmp esi, 0xd
ja case.default.0x5c9065
jmp dword [esi*4 + 0x5c9016]
cmp esi, 0x15
jg 0x5c9084
je 0x5ca16e
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5c9065
jmp dword [esi*4 + 0x5c906c]
cmp esi, 0x19
jg 0x5c90ab
je 0x5c9b91
sub esi, 0x16
je 0x5ca8a9
dec esi
je 0x5cab26
dec esi
je 0x5caa45
jmp case.default.0x5c9065
sub esi, 0x1a
je 0x5c9be3
sub esi, 0xe5
je 0x5cb37e
jmp case.default.0x5c9065
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5c9196
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c90fb
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c9108
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc48
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 0x5c9156
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5c9187
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
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.005bffcc
test al, al
jne 0x5c927f
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c91ea
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c91f7
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c9245
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5cb37e
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c92a0
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c92ad
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c92fb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9352
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5c943c
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c93a1
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c93ae
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc48
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 0x5c93fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5c942d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
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.005c360c
test al, al
jne 0x5c9529
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9494
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c94a1
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c94ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5cb37e
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c954a
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c9557
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c95a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb37e
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005d5130
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.005bffcc
test al, al
jne 0x5c96ee
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c9659
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c9666
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c96b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5cb37e
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5c970f
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5c971c
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5c976a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb37e
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5c97d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005c8970
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5130
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5c9822
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 0x5cb37e
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5c985c
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 0x5c9886
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5c9895
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c98c5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
ja 0x5c98fb
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 [0x5b5c30]
jne 0x5c9b00
xor eax, eax
push ebp
push 0x5c997c
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 0x5c996f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5c9962
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bde2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb38b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5130
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9bbc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9c19
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9c60
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9ca7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9ce7.0
jmp dword [eax*4 + 0x5c9cee]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5c9d78
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bde2c
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5c9d89
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
cmp byte [ebp - 0x41], 0
je 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5c9dc1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5c9e01.0
jmp dword [eax*4 + 0x5c9e08]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5c9e92
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bde2c
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5c9ea3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
cmp byte [ebp - 0x41], 0
je 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
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 0x5c9fc7
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 0x5c9fa3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5c9f28
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 0x5c9f28
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
inc dword [ebp - 0x4c]
jne 0x5c9f18
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5c9f50
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 0x5c9fc7
cmp dword [ebx + 0x18], 0xffffffff
je 0x5c9f6f
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 0x5c9fc7
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5c9fc7
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 0x5c9ef5
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5c9fc7
cmp dword [ebx + 8], 0xffffffff
jne 0x5c9ef5
cmp dword [ebp - 0x30], 0
jne 0x5cb37e
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5c9ff0
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb38b
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 0x5ca019
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
inc dword [ebp - 0x50]
jne 0x5ca009
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 0x5ca039
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb38b
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.005d5084
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5ca095
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5cb38b
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca0d8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jae 0x5ca10e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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.005d5130
jmp 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5ca153
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8370
test al, al
je 0x5cb38b
jmp 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5ca194
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8d10
test al, al
je 0x5cb38b
jmp 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5ca1d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005c8210
test al, al
je 0x5cb38b
jmp 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca237
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
cmp byte [ebp - 9], 0
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb38b
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.0x5ca260.0
jmp dword [eax*4 + 0x5ca267]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ca30f
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005bde2c
cmp byte [ebp - 9], 0
je 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb38b
cmp dword [ebp - 0x2c], 0
je 0x5ca324
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca35e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5cb37e
mov dl, 1
mov eax, dword [0x5b9b8c]
call fcn.00406998
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.005c851c
test al, al
jne 0x5ca3e3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, ebx
call fcn.004069c8
jmp 0x5cb38b
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005c851c
test al, al
jne 0x5ca408
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, ebx
call fcn.004069c8
jmp 0x5cb38b
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005c851c
test al, al
jne 0x5ca42d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, ebx
call fcn.004069c8
jmp 0x5cb38b
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005c851c
test al, al
jne 0x5ca452
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, ebx
call fcn.004069c8
jmp 0x5cb38b
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca470
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca47f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca48e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca49f
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca4d2
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca4b0
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca4d2
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca4c1
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ca4d2
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ca4e8
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca4e8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, ebx
call fcn.004069c8
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005b54b0
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ca517
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 0x5ca5f1
je 0x5ca6d3
dec eax
je 0x5ca551
dec eax
je 0x5ca7fd
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5ca56c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 0x5ca595
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca5b7
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb37e
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54f8
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca5e3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
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 0x5ca61a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ca635
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5cb37e
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca650
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5cb37e
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca6b1
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 0x5cb37e
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca6c5
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
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 0x5ca6fc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca759
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ca759
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5ca759
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.00408b88
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5cb37e
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ca774
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5cb37e
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca7db
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5ca7db
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 0x5cb37e
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca7ef
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
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 0x5ca826
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005b54f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ca887
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 0x5cb37e
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ca89b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5cb37e
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5ca8de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5ca8f6
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5ca928
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005bbef0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ca9cd
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5ca9b0
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005bbed4
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.005bf85c
test al, al
jne 0x5caa2b
cmp byte [ebp - 0x12], 0
je 0x5ca9a1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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 0x5caa2b
mov eax, dword [ebp - 0x16]
call fcn.005bbed4
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.005bf85c
test al, al
jne 0x5caa2b
cmp byte [ebp - 0x12], 0
je 0x5caa1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
jmp 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5caa7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5caa91.0
movzx eax, byte [eax + 0x5caa98]
jmp dword [eax*4 + 0x5caaaa]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5cb37e
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5cab5b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5cab72.0
movzx eax, byte [eax + 0x5cab79]
jmp dword [eax*4 + 0x5cab8b]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5cb37e
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5cb37e
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 9], 0
je 0x5cac3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5cac54
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 0x12], 0
je 0x5cac89
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5cacb1
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 0x5cb37e
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 0x5cb37e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5cad07
cmp byte [ebp - 9], 0
je 0x5cacf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5cad20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d5084
cmp dword [ebp - 0x2c], 0
jne 0x5cad5a
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5cad5a
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.005d3688
test al, al
je 0x5cb38b
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5cad73
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5cad82
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
cmp eax, dword [0x5b5c30]
jne 0x5caf93
xor eax, eax
push ebp
push 0x5cae03
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 0x5cadf6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5cade9
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005bde2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb38b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5cb37e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5130
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5cb02c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
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.005c7730
test al, al
je 0x5cb38b
cmp byte [ebp - 0x1b], 0
je 0x5cb116
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb07b
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5cb088
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005bbc48
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 0x5cb0d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb107
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005bde2c
jmp 0x5cb38b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
je 0x5cb38b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005c7730
test al, al
jne 0x5cb1f6
cmp byte [ebp - 0x12], 0
je 0x5cb38b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb161
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5cb16e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5cb1bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb38b
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.005c0fa8
cmp byte [ebp - 9], 0
je 0x5cb2c5
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb239
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5cb246
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005bbc48
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 0x5cb294
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb2c5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
cmp byte [ebp - 0x12], 0
je 0x5cb37e
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5cb2e6
and eax, 0x7f
bt dword [0x5cb424], eax
jae 0x5cb2f3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005bbc48
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 0x5cb341
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005b544c
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 0x5cb37e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d4dc0
jmp 0x5cb37e
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005bde2c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8fbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5cb3a4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5c8fb0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5cb3e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5cb3cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d5084
dec esi
cmp esi, 0xffffffff
jne 0x5cb3bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005d4dec
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5cb3e9
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 0x5cb418
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.0040879c
ret