Function at 0x5eaf74
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 0x5ed545
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 0x5eaff9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5eafef
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.00408444
dec esi
cmp esi, 0xffffffff
jne 0x5eafd6
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 0x5eb02a
sub al, 2
je 0x5eb0bd
jmp 0x5eb0c6
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5eb03a
xor ebx, ebx
jmp 0x5ed527
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 [0x5d7da8]
jne 0x5eb08b
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5ed527
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 0x5eb0cd
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5eb0cd
xor ebx, ebx
jmp 0x5ed527
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.005eaf54
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5ed4b2
cmp dword [ebp - 0x48], 0
je 0x5eb0fc
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 0x5eb119
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5eb182
je 0x5ecd3b
cmp esi, 0xd
ja case.default.0x5eb199
jmp dword [esi*4 + 0x5eb14a]
cmp esi, 0x15
jg 0x5eb1b8
je 0x5ec2a2
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5eb199
jmp dword [esi*4 + 0x5eb1a0]
cmp esi, 0x19
jg 0x5eb1df
je 0x5ebcc5
sub esi, 0x16
je 0x5ec9dd
dec esi
je 0x5ecc5a
dec esi
je 0x5ecb79
jmp case.default.0x5eb199
sub esi, 0x1a
je 0x5ebd17
sub esi, 0xe5
je 0x5ed4b2
jmp case.default.0x5eb199
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5eb2ca
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb22f
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb23c
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dddb8
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 0x5eb28a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5eb2bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
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.005e20ac
test al, al
jne 0x5eb3b3
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb31e
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb32b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb379
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ed4b2
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb3d4
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb3e1
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb42f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb486
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5eb570
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb4d5
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb4e2
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dddb8
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 0x5eb530
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5eb561
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
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.005e56ec
test al, al
jne 0x5eb65d
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb5c8
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb5d5
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb623
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ed4b2
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb67e
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb68b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb6d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4b2
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005f72a0
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.005e20ac
test al, al
jne 0x5eb822
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb78d
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb79a
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb7e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ed4b2
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5eb843
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5eb850
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5eb89e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4b2
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5eb90d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005eaa7c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f72a0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5eb956
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 0x5ed4b2
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5eb990
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5eb9ba
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5eb9c9
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb9f9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5eba2f
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 [0x5d7da8]
jne 0x5ebc34
xor eax, eax
push ebp
push 0x5ebab0
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 0x5ebaa3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5eba96
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005dffd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ed4bf
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f72a0
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ebcf0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ebd4d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ebd94
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ebddb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5ebe1b.0
jmp dword [eax*4 + 0x5ebe22]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5ebeac
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005dffd0
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ebebd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
cmp byte [ebp - 0x41], 0
je 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ebef5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5ebf35.0
jmp dword [eax*4 + 0x5ebf3c]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5ebfc6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005dffd0
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ebfd7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
cmp byte [ebp - 0x41], 0
je 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ed4b2
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 0x5ec0fb
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 0x5ec0d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5ec05c
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 0x5ec05c
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
inc dword [ebp - 0x4c]
jne 0x5ec04c
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ec084
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 0x5ec0fb
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec0a3
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 0x5ec0fb
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d7670
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5ec0fb
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 0x5ec029
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5ec0fb
cmp dword [ebx + 8], 0xffffffff
jne 0x5ec029
cmp dword [ebp - 0x30], 0
jne 0x5ed4b2
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5ec124
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ed4bf
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 0x5ec14d
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
inc dword [ebp - 0x50]
jne 0x5ec13d
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 0x5ec16d
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ed4bf
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.005f71f4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5ec1c9
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ed4bf
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec20c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ec242
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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.005f72a0
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ec287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005ea47c
test al, al
je 0x5ed4bf
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ec2c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005eae1c
test al, al
je 0x5ed4bf
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ec309
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005ea2f0
test al, al
je 0x5ed4bf
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec36b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
cmp byte [ebp - 9], 0
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4bf
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.0x5ec394.0
jmp dword [eax*4 + 0x5ec39b]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5ec443
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005dffd0
cmp byte [ebp - 9], 0
je 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4bf
cmp dword [ebp - 0x2c], 0
je 0x5ec458
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec492
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov dl, 1
mov eax, dword [0x5dbcfc]
call fcn.00408414
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.005ea628
test al, al
jne 0x5ec517
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, ebx
call fcn.00408444
jmp 0x5ed4bf
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005ea628
test al, al
jne 0x5ec53c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, ebx
call fcn.00408444
jmp 0x5ed4bf
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005ea628
test al, al
jne 0x5ec561
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, ebx
call fcn.00408444
jmp 0x5ed4bf
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005ea628
test al, al
jne 0x5ec586
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, ebx
call fcn.00408444
jmp 0x5ed4bf
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ec595
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ec5a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec5b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ec5c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ec5d3
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ec606
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ec5e4
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ec606
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec5f5
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5ec606
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5ec61c
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec61c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, ebx
ret
call fcn.00408444
jmp 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005d7628
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec64b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ec725
je 0x5ec807
dec eax
je 0x5ec685
dec eax
je 0x5ec931
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5ec6a0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ec6c9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec6eb
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5ed4b2
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d7670
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ec717
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
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 0x5ec74e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
cmp dword [ebx + 0x10], 0xffffffff
je 0x5ec769
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5ed4b2
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec784
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5ed4b2
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d7670
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ec7e5
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 0x5ed4b2
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ec7f9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
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 0x5ec830
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ec88d
cmp dword [ebx + 0x14], 0xffffffff
je 0x5ec88d
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5ec88d
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.0040a644
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5ed4b2
cmp dword [ebx + 0x18], 0xffffffff
je 0x5ec8a8
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5ed4b2
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d7670
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ec90f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5ec90f
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 0x5ed4b2
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ec923
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
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 0x5ec95a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d7670
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5ec9bb
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 0x5ed4b2
cmp dword [ebp - 0x38], 0xffffffff
je 0x5ec9cf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5eca12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5eca2a
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5eca5c
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005de060
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ecb01
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5ecae4
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005de044
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.005e193c
test al, al
jne 0x5ecb5f
cmp byte [ebp - 0x12], 0
je 0x5ecad5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 0x5ecb5f
mov eax, dword [ebp - 0x16]
call fcn.005de044
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.005e193c
test al, al
jne 0x5ecb5f
cmp byte [ebp - 0x12], 0
je 0x5ecb50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
jmp 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ecbae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ecbc5.0
movzx eax, byte [eax + 0x5ecbcc]
jmp dword [eax*4 + 0x5ecbde]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5ed4b2
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ecc8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ecca6.0
movzx eax, byte [eax + 0x5eccad]
jmp dword [eax*4 + 0x5eccbf]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5ed4b2
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5ed4b2
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 9], 0
je 0x5ecd70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5ecd88
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 0x12], 0
je 0x5ecdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ecde5
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 0x5ed4b2
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 0x5ed4b2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5ece3b
cmp byte [ebp - 9], 0
je 0x5ece2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5ece54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f71f4
cmp dword [ebp - 0x2c], 0
jne 0x5ece8e
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5ece8e
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.005f57d8
test al, al
je 0x5ed4bf
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5ecea7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5eceb6
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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 [0x5d7da8]
jne 0x5ed0c7
xor eax, eax
push ebp
push 0x5ecf37
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 0x5ecf2a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5ecf1d
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005dffd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ed4bf
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ed4b2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f72a0
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ed160
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
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.005e9810
test al, al
je 0x5ed4bf
cmp byte [ebp - 0x1b], 0
je 0x5ed24a
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ed1af
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5ed1bc
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005dddb8
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 0x5ed20a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed23b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005dffd0
jmp 0x5ed4bf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
je 0x5ed4bf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e9810
test al, al
jne 0x5ed32a
cmp byte [ebp - 0x12], 0
je 0x5ed4bf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ed295
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5ed2a2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5ed2f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4bf
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.005e3088
cmp byte [ebp - 9], 0
je 0x5ed3f9
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ed36d
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5ed37a
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dddb8
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 0x5ed3c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed3f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
cmp byte [ebp - 0x12], 0
je 0x5ed4b2
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ed41a
and eax, 0x7f
bt dword [0x5ed558], eax
jae 0x5ed427
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dddb8
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 0x5ed475
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d75c4
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 0x5ed4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6f10
jmp 0x5ed4b2
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005dffd0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5eb0f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5ed4d8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5eb0e4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5ed51d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5ed501
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f71f4
dec esi
cmp esi, 0xffffffff
jne 0x5ed4f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6f3c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5ed51d
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
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ed54c
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.0040a258
ret