Function at 0x5d5bc0
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 0x5d8191
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 0x5d5c45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5d5c3b
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 0x5d5c22
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 0x5d5c76
sub al, 2
je 0x5d5d09
jmp 0x5d5d12
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5d5c86
xor ebx, ebx
jmp 0x5d8173
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 [0x5c2a00]
jne 0x5d5cd7
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5d8173
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 0x5d5d19
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5d5d19
xor ebx, ebx
jmp 0x5d8173
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.005d5ba0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5d80fe
cmp dword [ebp - 0x48], 0
je 0x5d5d48
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 0x5d5d65
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d5dce
je 0x5d7987
cmp esi, 0xd
ja case.default.0x5d5de5
jmp dword [esi*4 + 0x5d5d96]
cmp esi, 0x15
jg 0x5d5e04
je 0x5d6eee
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5d5de5
jmp dword [esi*4 + 0x5d5dec]
cmp esi, 0x19
jg 0x5d5e2b
je 0x5d6911
sub esi, 0x16
je 0x5d7629
dec esi
je 0x5d78a6
dec esi
je 0x5d77c5
jmp case.default.0x5d5de5
sub esi, 0x1a
je 0x5d6963
sub esi, 0xe5
je 0x5d80fe
jmp case.default.0x5d5de5
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d5f16
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d5e7b
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d5e88
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005c8a10
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 0x5d5ed6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d5f07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
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.005cccf8
test al, al
jne 0x5d5fff
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d5f6a
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d5f77
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d5fc5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d80fe
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d6020
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d602d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d607b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d60d2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d61bc
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d6121
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d612e
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005c8a10
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 0x5d617c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d61ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
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.005d0338
test al, al
jne 0x5d62a9
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d6214
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d6221
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d626f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d80fe
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d62ca
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d62d7
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d6325
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d80fe
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005e1eb0
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.005cccf8
test al, al
jne 0x5d646e
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d63d9
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d63e6
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d6434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d80fe
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d648f
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d649c
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d64ea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d80fe
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d6559
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005d56c8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1eb0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5d65a2
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 0x5d80fe
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5d65dc
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d6606
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5d6615
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6645
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d667b
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 [0x5c2a00]
jne 0x5d6880
xor eax, eax
push ebp
push 0x5d66fc
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 0x5d66ef
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5d66e2
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005cac28
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5d810b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1eb0
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d693c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6999
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d69e0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6a27
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5d6a67.0
jmp dword [eax*4 + 0x5d6a6e]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5d6af8
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005cac28
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d6b09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
cmp byte [ebp - 0x41], 0
je 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6b41
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5d6b81.0
jmp dword [eax*4 + 0x5d6b88]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5d6c12
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005cac28
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d6c23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
cmp byte [ebp - 0x41], 0
je 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5d80fe
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 0x5d6d47
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 0x5d6d23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5d6ca8
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 0x5d6ca8
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
inc dword [ebp - 0x4c]
jne 0x5d6c98
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5d6cd0
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 0x5d6d47
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d6cef
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 0x5d6d47
mov eax, ebx
call fcn.004069c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005c22c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5d6d47
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 0x5d6c75
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5d6d47
cmp dword [ebx + 8], 0xffffffff
jne 0x5d6c75
cmp dword [ebp - 0x30], 0
jne 0x5d80fe
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5d6d70
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5d810b
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 0x5d6d99
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
inc dword [ebp - 0x50]
jne 0x5d6d89
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 0x5d6db9
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5d810b
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.005e1e04
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5d6e15
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5d810b
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6e58
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d6e8e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005e1eb0
jmp 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d6ed3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005d50c8
test al, al
je 0x5d810b
jmp 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d6f14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005d5a68
test al, al
je 0x5d810b
jmp 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d6f55
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005d4f3c
test al, al
je 0x5d810b
jmp 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d6fb7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
cmp byte [ebp - 9], 0
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d810b
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.0x5d6fe0.0
jmp dword [eax*4 + 0x5d6fe7]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5d708f
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005cac28
cmp byte [ebp - 9], 0
je 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d810b
cmp dword [ebp - 0x2c], 0
je 0x5d70a4
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d70de
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5d80fe
mov dl, 1
mov eax, dword [0x5c6954]
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.005d5274
test al, al
jne 0x5d7163
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, ebx
call fcn.004069c8
jmp 0x5d810b
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005d5274
test al, al
jne 0x5d7188
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, ebx
call fcn.004069c8
jmp 0x5d810b
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005d5274
test al, al
jne 0x5d71ad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, ebx
call fcn.004069c8
jmp 0x5d810b
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005d5274
test al, al
jne 0x5d71d2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, ebx
call fcn.004069c8
jmp 0x5d810b
cmp dword [ebx + 0x10], 0xffffffff
je 0x5d71e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5d71f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d71ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5d720e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5d721f
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5d7252
cmp dword [ebx + 0x14], 0xffffffff
je 0x5d7230
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5d7252
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d7241
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5d7252
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5d7268
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d7268
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, ebx
call fcn.004069c8
jmp 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005c2280
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d7297
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d7371
je 0x5d7453
dec eax
je 0x5d72d1
dec eax
je 0x5d757d
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5d72ec
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d7315
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d7337
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5d80fe
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.005c22c8
cmp dword [ebp - 0x38], 0xffffffff
je 0x5d7363
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
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 0x5d739a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
cmp dword [ebx + 0x10], 0xffffffff
je 0x5d73b5
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5d80fe
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d73d0
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5d80fe
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.005c22c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5d7431
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 0x5d80fe
cmp dword [ebp - 0x38], 0xffffffff
je 0x5d7445
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
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 0x5d747c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5d74d9
cmp dword [ebx + 0x14], 0xffffffff
je 0x5d74d9
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5d74d9
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.00408b94
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5d80fe
cmp dword [ebx + 0x18], 0xffffffff
je 0x5d74f4
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5d80fe
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.005c22c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5d755b
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5d755b
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 0x5d80fe
cmp dword [ebp - 0x38], 0xffffffff
je 0x5d756f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
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 0x5d75a6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005c22c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5d7607
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 0x5d80fe
cmp dword [ebp - 0x38], 0xffffffff
je 0x5d761b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5d80fe
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d765e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5d7676
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5d76a8
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005c8cb8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5d774d
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5d7730
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005c8c9c
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.005cc588
test al, al
jne 0x5d77ab
cmp byte [ebp - 0x12], 0
je 0x5d7721
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 0x5d77ab
mov eax, dword [ebp - 0x16]
call fcn.005c8c9c
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.005cc588
test al, al
jne 0x5d77ab
cmp byte [ebp - 0x12], 0
je 0x5d779c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
jmp 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d77fa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5d7811.0
movzx eax, byte [eax + 0x5d7818]
jmp dword [eax*4 + 0x5d782a]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5d80fe
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d78db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5d78f2.0
movzx eax, byte [eax + 0x5d78f9]
jmp dword [eax*4 + 0x5d790b]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5d80fe
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5d80fe
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 9], 0
je 0x5d79bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5d79d4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 0x12], 0
je 0x5d7a09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5d7a31
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 0x5d80fe
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 0x5d80fe
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5d7a87
cmp byte [ebp - 9], 0
je 0x5d7a78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5d7aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1e04
cmp dword [ebp - 0x2c], 0
jne 0x5d7ada
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5d7ada
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.005e0408
test al, al
je 0x5d810b
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5d7af3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5d7b02
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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 [0x5c2a00]
jne 0x5d7d13
xor eax, eax
push ebp
push 0x5d7b83
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 0x5d7b76
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5d7b69
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005cac28
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5d810b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5d80fe
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1eb0
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5d7dac
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
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.005d445c
test al, al
je 0x5d810b
cmp byte [ebp - 0x1b], 0
je 0x5d7e96
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d7dfb
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d7e08
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005c8a10
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 0x5d7e56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d7e87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005cac28
jmp 0x5d810b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
je 0x5d810b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005d445c
test al, al
jne 0x5d7f76
cmp byte [ebp - 0x12], 0
je 0x5d810b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d7ee1
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d7eee
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d7f3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d810b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d810b
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.005cdcd4
cmp byte [ebp - 9], 0
je 0x5d8045
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d7fb9
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d7fc6
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005c8a10
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 0x5d8014
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d8045
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
cmp byte [ebp - 0x12], 0
je 0x5d80fe
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5d8066
and eax, 0x7f
bt dword [0x5d81a4], eax
jae 0x5d8073
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005c8a10
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 0x5d80c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005c221c
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 0x5d80fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005e1b40
jmp 0x5d80fe
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005cac28
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5d5d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5d8124
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5d5d30
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5d8169
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5d814d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1e04
dec esi
cmp esi, 0xffffffff
jne 0x5d813c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005e1b6c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5d8169
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 0x5d8198
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.004087a8
ret