Function at 0x64026880
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov edx, ecx
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 8], ecx
mov eax, dword [edx + 0x4c]
shr eax, 1
mov dword [ebp - 0x54], eax
shr eax, 1
mov dword [ebp - 0x50], eax
shr eax, 1
mov dword [ebp - 0x48], eax
shr eax, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [edx + 0x44]
sub eax, 3
test eax, eax
jle 0x6402759b
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xc], 0xc
mov dword [ebp - 0x28], 0xfffffff4
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x10], 0xfffffff0
lea ecx, [ecx]
mov eax, dword [edx + 0x14]
shl ecx, 2
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx + eax]
mov dword [ebp + 0x10], eax
test eax, 0x80000
je 0x64026eef
mov eax, dword [edx + 0x18]
test dword [ecx + eax], 0x80000
je 0x64026eec
cmp dword [ebp - 0x48], 3
lea edx, [esi + 1]
movzx ecx, byte [esi]
lea eax, [esi + 2]
mov dword [ebp + 8], ecx
movzx ecx, byte [ebx]
mov dword [ebp + 0x10], ecx
movzx ecx, byte [ebx + 1]
mov dword [ebp + 0xc], ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0x44], edx
movzx edx, byte [edx]
mov dword [ebp - 0x34], eax
movzx eax, byte [eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
jb 0x64026ebe
push dword [ebp - 0x48]
push dword [ebp - 0x20]
push eax
push dword [ebp + 0xc]
push edx
push dword [ebp + 0x10]
push ecx
call fcn.6401e640
test al, al
je 0x64026ebe
mov eax, dword [ebp - 8]
shr eax, 2
test al, 1
mov eax, dword [ebp + 8]
je 0x6402699c
mov ecx, dword [ebp + 0x10]
inc ecx
add eax, ecx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp + 0xc]
cdq
sub eax, edx
mov edx, dword [ebp - 0x20]
sar eax, 1
inc edx
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x38]
add eax, edx
jmp 0x640269be
add eax, dword [ebp + 0x10]
cdq
sub eax, edx
mov edx, dword [ebp + 0xc]
mov ecx, eax
inc edx
mov eax, dword [ebp - 0x3c]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x20]
cdq
sub eax, edx
sar ecx, 1
mov byte [esi], cl
mov edx, dword [ebp - 0x34]
sar eax, 1
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x44]
mov byte [ecx], al
mov eax, dword [ebp - 0x38]
mov byte [edx], al
mov eax, dword [ebp - 0x40]
mov byte [ebx], al
mov al, byte [ecx]
mov byte [ebx + 1], al
mov al, byte [edx]
mov byte [ebx + 2], al
mov al, byte [esi]
mov byte [ebx + 4], al
mov al, byte [ecx]
mov byte [ebx + 5], al
mov al, byte [edx]
mov byte [ebx + 6], al
mov al, byte [esi]
mov byte [ebx + 8], al
mov al, byte [ecx]
mov byte [ebx + 9], al
mov al, byte [edx]
mov byte [ebx + 0xa], al
mov al, byte [esi]
mov byte [ebx + 0xc], al
mov al, byte [ecx]
mov byte [ebx + 0xd], al
mov al, byte [edx]
mov byte [ebx + 0xe], al
mov al, byte [esi]
mov byte [edi], al
mov al, byte [ecx]
mov byte [edi + 1], al
mov al, byte [edx]
mov byte [edi + 2], al
mov al, byte [esi]
mov byte [edi + 4], al
mov al, byte [ecx]
mov byte [edi + 5], al
mov al, byte [edx]
mov byte [edi + 6], al
mov al, byte [esi]
mov byte [edi + 8], al
mov al, byte [ecx]
mov byte [edi + 9], al
mov al, byte [edx]
mov byte [edi + 0xa], al
mov al, byte [esi]
mov byte [edi + 0xc], al
mov al, byte [ecx]
mov byte [edi + 0xd], al
mov al, byte [edx]
mov byte [edi + 0xe], al
mov al, byte [esi]
mov dl, byte [ecx]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x34]
mov byte [esi + 5], dl
mov cl, byte [eax]
mov byte [esi + 6], cl
mov al, byte [esi]
mov byte [esi + 0xa], cl
mov byte [esi + 8], al
mov byte [esi + 9], dl
mov al, byte [esi]
mov byte [esi + 0xe], cl
mov ecx, dword [ebp + 0x14]
mov byte [esi + 0xc], al
mov byte [esi + 0xd], dl
mov al, byte [esi]
mov byte [ecx], al
mov edx, dword [ebp - 0x44]
add ebx, 0x10
mov dword [ebp + 8], ebx
add edi, 0x10
mov ebx, dword [ebp - 0xc]
mov al, byte [edx]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
mov byte [ecx + 2], al
mov al, byte [esi]
mov byte [ecx + 4], al
mov al, byte [edx]
mov byte [ecx + 5], al
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
mov byte [ecx + 6], al
mov al, byte [esi]
mov byte [ecx + 8], al
mov al, byte [edx]
mov byte [ecx + 9], al
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
mov byte [ecx + 0xa], al
mov al, byte [esi]
add esi, 0x10
mov byte [ecx + 0xc], al
mov al, byte [edx]
mov edx, dword [ebp - 0x2c]
mov byte [ecx + 0xd], al
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
mov byte [ecx + 0xe], al
add ecx, 0x10
cmp dword [ebp - 8], 4
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x14]
mov dword [edx + eax], 0x200000
mov eax, dword [ecx + 0x14]
mov dword [ebx + eax], 0x400000
mov eax, dword [ecx + 0x14]
mov dword [eax + edx + 8], 0x400000
mov eax, dword [ecx + 0x14]
mov dword [eax + edx + 4], 0x400000
mov eax, dword [ecx + 0x18]
mov dword [edx + eax], 0x800000
mov eax, dword [ecx + 0x18]
mov dword [ebx + eax], 0x1000000
mov eax, dword [ecx + 0x18]
mov ebx, dword [ebp + 8]
mov dword [eax + edx + 8], 0x1000000
mov eax, dword [ecx + 0x18]
mov dword [eax + edx + 4], 0x1000000
jl 0x64026ece
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x10]
test dword [ecx + eax], 0x800000
je 0x64026ece
cmp dword [ebp - 0x4c], 3
movzx eax, byte [ebx - 0x20]
movzx ecx, byte [ebx - 0x1f]
movzx edx, byte [ebx - 0x1e]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
jb 0x64026ece
push dword [ebp - 0x4c]
push edx
push dword [ebp - 0x38]
push ecx
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x40]
call fcn.6401e640
test al, al
je 0x64026ece
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
shr ecx, 3
push eax
push eax
lea eax, [ebp - 0x1c]
and cl, 1
push eax
lea eax, [ebp + 0xc]
push eax
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 4]
push eax
mov edx, eax
call fcn.6401e5b0
mov edx, dword [ebp - 0x44]
add esp, 0x20
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x34]
mov byte [eax], cl
mov al, byte [ebp + 0xc]
mov byte [edx], al
mov al, byte [ebp + 0x10]
mov byte [ebx], al
mov ebx, dword [ebp + 8]
mov byte [ebx - 0x20], cl
mov al, byte [edx]
mov ecx, dword [ebp - 0x34]
mov byte [ebx - 0x1f], al
mov al, byte [ecx]
mov byte [ebx - 0x1e], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 0x1c], al
mov al, byte [edx]
mov byte [ebx - 0x1b], al
mov al, byte [ecx]
mov byte [ebx - 0x1a], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 0x18], al
mov al, byte [edx]
mov byte [ebx - 0x17], al
mov al, byte [ecx]
mov byte [ebx - 0x16], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 0x14], al
mov al, byte [edx]
mov byte [ebx - 0x13], al
mov al, byte [ecx]
mov byte [ebx - 0x12], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 0x10], al
mov al, byte [edx]
mov byte [ebx - 0xf], al
mov al, byte [ecx]
mov byte [ebx - 0xe], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 0xc], al
mov al, byte [edx]
mov byte [ebx - 0xb], al
mov al, byte [ecx]
mov byte [ebx - 0xa], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 8], al
mov al, byte [edx]
mov byte [ebx - 7], al
mov al, byte [ecx]
mov byte [ebx - 6], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ebx - 4], al
mov al, byte [edx]
mov byte [ebx - 3], al
mov al, byte [ecx]
mov byte [ebx - 2], al
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx]
mov byte [edi - 0x20], al
mov al, byte [edx]
mov byte [edi - 0x1f], al
mov al, byte [ecx]
mov byte [edi - 0x1e], al
mov al, byte [ebx]
mov byte [edi - 0x1c], al
mov al, byte [edx]
mov byte [edi - 0x1b], al
mov al, byte [ecx]
mov byte [edi - 0x1a], al
mov al, byte [ebx]
mov byte [edi - 0x18], al
mov al, byte [edx]
mov byte [edi - 0x17], al
mov al, byte [ecx]
mov byte [edi - 0x16], al
mov al, byte [ebx]
mov byte [edi - 0x14], al
mov al, byte [edx]
mov byte [edi - 0x13], al
mov al, byte [ecx]
mov byte [edi - 0x12], al
mov al, byte [ebx]
mov byte [edi - 0x10], al
mov al, byte [edx]
mov byte [edi - 0xf], al
mov al, byte [ecx]
mov byte [edi - 0xe], al
mov al, byte [ebx]
mov byte [edi - 0xc], al
mov al, byte [edx]
mov byte [edi - 0xb], al
mov al, byte [ecx]
mov byte [edi - 0xa], al
mov al, byte [ebx]
mov byte [edi - 8], al
mov al, byte [edx]
mov byte [edi - 7], al
mov al, byte [ecx]
mov byte [edi - 6], al
mov al, byte [ebx]
mov byte [edi - 4], al
mov al, byte [edx]
mov byte [edi - 3], al
mov al, byte [ecx]
mov byte [edi - 2], al
mov al, byte [ebx]
mov byte [esi - 0x20], al
mov al, byte [edx]
mov byte [esi - 0x1f], al
mov al, byte [ecx]
mov byte [esi - 0x1e], al
mov al, byte [ebx]
mov byte [esi - 0x1c], al
mov al, byte [edx]
mov byte [esi - 0x1b], al
mov al, byte [ecx]
mov byte [esi - 0x1a], al
mov al, byte [ebx]
mov byte [esi - 0x18], al
mov al, byte [edx]
mov byte [esi - 0x17], al
mov al, byte [ecx]
mov byte [esi - 0x16], al
mov al, byte [ebx]
mov byte [esi - 0x14], al
mov al, byte [edx]
mov byte [esi - 0x13], al
mov al, byte [ecx]
mov byte [esi - 0x12], al
mov al, byte [ebx]
mov byte [esi - 0x10], al
mov al, byte [edx]
mov byte [esi - 0xf], al
mov al, byte [ecx]
mov byte [esi - 0xe], al
mov al, byte [ebx]
mov byte [esi - 0xc], al
mov al, byte [edx]
mov byte [esi - 0xb], al
mov al, byte [ecx]
mov byte [esi - 0xa], al
mov al, byte [ebx]
mov byte [esi - 8], al
mov al, byte [edx]
mov byte [esi - 7], al
mov al, byte [ecx]
mov byte [esi - 6], al
mov al, byte [ebx]
mov byte [esi - 4], al
mov al, byte [edx]
mov byte [esi - 3], al
mov al, byte [ecx]
mov ecx, dword [ebp + 0x14]
mov byte [esi - 2], al
mov al, byte [ebx]
mov ebx, dword [ebp - 0x34]
mov byte [ecx - 0x20], al
mov al, byte [edx]
mov byte [ecx - 0x1f], al
mov al, byte [ebx]
mov byte [ecx - 0x1e], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 0x1c], al
mov al, byte [edx]
mov byte [ecx - 0x1b], al
mov al, byte [ebx]
mov byte [ecx - 0x1a], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 0x18], al
mov al, byte [edx]
mov byte [ecx - 0x17], al
mov al, byte [ebx]
mov byte [ecx - 0x16], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 0x14], al
mov al, byte [edx]
mov byte [ecx - 0x13], al
mov al, byte [ebx]
mov byte [ecx - 0x12], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 0x10], al
mov al, byte [edx]
mov byte [ecx - 0xf], al
mov al, byte [ebx]
mov byte [ecx - 0xe], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 0xc], al
mov al, byte [edx]
mov byte [ecx - 0xb], al
mov al, byte [ebx]
mov byte [ecx - 0xa], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 8], al
mov al, byte [edx]
mov byte [ecx - 7], al
mov al, byte [ebx]
mov byte [ecx - 6], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
mov byte [ecx - 4], al
mov al, byte [edx]
mov byte [ecx - 3], al
mov al, byte [ebx]
mov ebx, dword [ebp - 0x10]
mov byte [ecx - 2], al
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x14]
mov dword [ebx + eax], 0x2000000
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x24]
mov dword [edx + eax], 0x4000000
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x2c]
mov dword [eax + edx + 8], 0x4000000
mov eax, dword [ecx + 0x14]
mov dword [eax + edx + 4], 0x4000000
mov eax, dword [ecx + 0x14]
mov dword [edx + eax], 0x4000000
mov eax, dword [ecx + 0x14]
mov dword [eax + edx - 4], 0x4000000
mov eax, dword [ecx + 0x14]
mov dword [ebx + eax], 0x4000000
mov eax, dword [ecx + 0x14]
mov ebx, dword [ebp - 0x28]
mov dword [ebx + eax], 0x4000000
mov eax, dword [ecx + 0x18]
mov ebx, dword [ebp - 0x10]
mov dword [ebx + eax], 0x8000000
mov eax, dword [ecx + 0x18]
mov ebx, dword [ebp - 0xc]
mov dword [ebx + eax], 0x10000000
mov eax, dword [ecx + 0x18]
mov ebx, dword [ebp + 8]
mov dword [eax + edx + 8], 0x10000000
mov eax, dword [ecx + 0x18]
mov dword [eax + edx + 4], 0x10000000
mov eax, dword [ecx + 0x18]
mov dword [edx + eax], 0x10000000
mov eax, dword [ecx + 0x18]
mov dword [eax + edx - 4], 0x10000000
mov eax, dword [ecx + 0x18]
mov edx, dword [ebp - 0x24]
mov dword [edx + eax], 0x10000000
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + eax], 0x10000000
jmp 0x64026ece
add ebx, 0x10
add edi, 0x10
add esi, 0x10
mov dword [ebp + 8], ebx
add dword [ebp + 0x14], 0x10
mov ecx, dword [ebp - 8]
add dword [ebp - 0x10], 0x10
add ecx, 4
add dword [ebp - 0x24], 0x10
add dword [ebp - 0x28], 0x10
add dword [ebp - 0xc], 0x10
mov edx, dword [ebp - 0x30]
jmp 0x64027587
mov eax, dword [ebp + 0x10]
test eax, 0x200
je 0x6402707d
mov eax, dword [edx + 0x18]
test dword [ecx + eax], 0x200
je 0x6402707a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi]
mov dword [ebp + 0xc], eax
movzx eax, byte [esi + 2]
mov dword [ebp + 0x10], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x20], eax
movzx eax, byte [ebx + 1]
mov dword [ebp - 0x1c], eax
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 4], ecx
cmp eax, 3
jb 0x64027052
push eax
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp + 0xc]
push dword [ebp - 0x20]
push ecx
call fcn.6401e640
test al, al
je 0x6402704f
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
shr ecx, 1
push eax
push eax
lea eax, [ebp - 0x1c]
and cl, 1
push eax
lea eax, [ebp + 0xc]
push eax
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 4]
push eax
mov edx, eax
call fcn.6401e5b0
mov al, byte [ebp + 0xc]
add esp, 0x20
mov byte [esi + 1], al
mov al, byte [ebp + 0x10]
mov byte [esi + 2], al
mov ecx, dword [ebp - 4]
mov byte [esi], cl
mov byte [ebx], cl
mov al, byte [esi + 1]
mov byte [ebx + 1], al
mov al, byte [esi + 2]
mov byte [ebx + 2], al
mov al, byte [esi]
mov byte [ebx + 4], al
mov al, byte [esi + 1]
mov byte [ebx + 5], al
mov al, byte [esi + 2]
mov byte [ebx + 6], al
add ebx, 8
mov al, byte [esi]
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov al, byte [esi]
mov byte [edi + 4], al
mov al, byte [esi + 1]
mov ecx, dword [ebp + 0x14]
mov byte [edi + 5], al
mov al, byte [esi + 2]
mov byte [edi + 6], al
add edi, 8
mov al, byte [esi]
mov byte [esi + 4], al
mov al, byte [esi + 1]
mov byte [esi + 5], al
mov al, byte [esi + 2]
mov byte [esi + 6], al
mov al, byte [esi]
mov edx, dword [ebp - 0x30]
mov byte [ecx], al
mov al, byte [esi + 1]
mov byte [ecx + 1], al
mov al, byte [esi + 2]
mov byte [ecx + 2], al
mov al, byte [esi]
mov byte [ecx + 4], al
mov al, byte [esi + 1]
mov byte [ecx + 5], al
mov al, byte [esi + 2]
add esi, 8
mov byte [ecx + 6], al
add ecx, 8
mov eax, dword [edx + 0x14]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax], 0x800
mov eax, dword [edx + 0x14]
mov dword [eax + ecx + 4], 0x1000
mov eax, dword [edx + 0x18]
mov dword [ecx + eax], 0x2000
mov eax, dword [edx + 0x18]
mov dword [eax + ecx + 4], 0x4000
jmp 0x6402705f
mov edx, dword [ebp - 0x30]
add ebx, 8
add edi, 8
add esi, 8
add dword [ebp + 0x14], 8
mov ecx, dword [ebp - 8]
add dword [ebp - 0x10], 8
add ecx, 2
add dword [ebp - 0x24], 8
add dword [ebp - 0x28], 8
add dword [ebp - 0xc], 8
jmp 0x64027584
mov eax, dword [ebp + 0x10]
test al, 4
je 0x6402719d
mov eax, dword [edx + 0x18]
test byte [ecx + eax], 4
je 0x6402719a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi]
mov dword [ebp + 0xc], eax
movzx eax, byte [esi + 2]
mov dword [ebp + 0x10], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x20], eax
movzx eax, byte [ebx + 1]
mov dword [ebp - 0x1c], eax
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], ecx
cmp eax, 3
jb 0x6402716f
push eax
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp + 0xc]
push dword [ebp - 0x20]
push ecx
call fcn.6401e640
test al, al
je 0x6402716c
mov cl, byte [ebp - 8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
and cl, 1
push eax
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0xc]
push eax
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 4]
push eax
mov edx, eax
call fcn.6401e5b0
mov al, byte [ebp + 0xc]
add esp, 0x20
mov ecx, dword [ebp - 4]
mov byte [esi + 1], al
mov al, byte [ebp + 0x10]
mov byte [esi + 2], al
mov byte [esi], cl
mov byte [ebx], cl
mov al, byte [esi + 1]
mov ecx, dword [ebp + 0x14]
mov byte [ebx + 1], al
mov al, byte [esi + 2]
mov edx, dword [ebp - 0x30]
mov byte [ebx + 2], al
mov al, byte [esi]
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov al, byte [esi]
mov byte [ecx], al
mov al, byte [esi + 1]
mov byte [ecx + 1], al
mov al, byte [esi + 2]
mov byte [ecx + 2], al
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax], 8
mov eax, dword [edx + 0x18]
mov dword [ecx + eax], 0x10
jmp 0x6402716f
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x14]
add ebx, 4
add dword [ebp - 0x10], 4
add ecx, 4
add dword [ebp - 0x24], 4
add edi, 4
add dword [ebp - 0x28], 4
add esi, 4
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 8]
inc ecx
add dword [ebp - 0xc], 4
jmp 0x64027584
mov eax, dword [ebp + 0x10]
test eax, 0x20000
je 0x6402736a
mov eax, dword [edx + 0x18]
test dword [ecx + eax], 0x8000
je 0x64027367
movzx eax, byte [esi + 1]
movzx ecx, byte [esi]
mov dword [ebp + 0xc], eax
movzx eax, byte [esi + 2]
mov dword [ebp + 0x10], eax
movzx eax, byte [edi]
mov dword [ebp - 0x20], eax
movzx eax, byte [edi + 1]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 4], ecx
cmp eax, 3
jb 0x6402733f
push eax
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp + 0xc]
push dword [ebp - 0x20]
push ecx
call fcn.6401e640
test al, al
je 0x6402733c
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
shr ecx, 2
push eax
push eax
invalid