Function at 0x40d3f0
Capabilities:
Check mutex on windows
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x439040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x1b8], eax
movzx eax, word [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
dec eax
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1ac], ecx
push edi
mov edi, dword [ebp + 0x10]
cmp eax, 0xe1
ja case.0x40d45c.40
movzx eax, byte [eax + 0x40fc18]
jmp dword [eax*4 + 0x40fb4c]
push str.GlobalUniKeySTDCommandReport
mov ecx, 0x439bd8
call fcn.0040fdb0
call fcn.0040ac00
test eax, eax
jg 0x40d493
xor ebx, ebx
nop dword [eax]
test eax, eax
jg 0x40d493
call fcn.0040ac00
inc ebx
cmp ebx, 5
jl 0x40d480
test eax, eax
jle 0x40d4ac
mov ecx, dword [ebp - 0x1b4]
push edi
push 0
push 0
mov dword [ecx], eax
call fcn.0040b1d0
cmp eax, 0xa0100001
jne 0x40d4cc
mov ecx, 0x439bd8
call fcn.0040fe40
pop edi
pop esi
mov eax, 0xc8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov word [esi], ax
mov dword [0xee9084], 1
jmp 0x40d54f
movzx eax, word [esi]
push eax
lea eax, [ebp - 0x150]
push str.GlobalUniKeySTDCommandReport__d
push eax
call fcn.004011c0
add esp, 0xc
lea eax, [ebp - 0x150]
mov ecx, 0x439bd8
push eax
call fcn.0040fdb0
mov ecx, dword [0xee9080]
test ecx, ecx
je 0x40d562
mov eax, dword [0xee9084]
cmp eax, ecx
jne 0x40d52d
pop edi
pop esi
mov eax, 0xd6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x40d562
push edi
push 0
push 0
call fcn.0040b1d0
cmp eax, 0xa0100001
je 0x40d4b6
mov word [esi], ax
inc dword [0xee9084]
movzx eax, word [esi]
push edi
push eax
call fcn.0040b0a0
test eax, eax
je 0x40d5d3
jmp 0x40d4b6
pop edi
pop esi
mov eax, 0xd7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
lea eax, [ebp - 0x14]
push eax
push 0
push 1
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40d4b6
test eax, eax
jne 0x40d75c
lea eax, [ebp - 0x14]
mov byte [ebp - 5], 1
push eax
movzx eax, word [esi]
push 0
push 1
push eax
call fcn.0040c0b0
test eax, eax
jne 0x40f0df
mov byte [0x439bd4], 1
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
lea eax, [ebp - 0x14]
push eax
push 0
push 1
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40d4b6
test eax, eax
jne 0x40d75c
mov byte [ebp - 5], al
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push 0
push 1
push eax
call fcn.0040c0b0
test eax, eax
jne 0x40f0df
pop edi
pop esi
mov byte [0x439bd4], al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, word [esi]
imul eax, eax, 0x13c
add eax, 0xee9190
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x1b4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40d6bd
mov esi, dword [ebp - 0x1b4]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xec
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], eax
movzx eax, word [ebx]
mov word [ebp - 0xc], ax
movzx eax, word [edx]
mov word [ebp - 0xa], ax
movzx eax, word [ecx]
mov ecx, dword [ebp - 0x1b8]
mov word [ebp - 8], ax
movzx eax, word [ecx]
mov word [ebp - 6], ax
lea eax, [ebp - 0xc]
push eax
movzx eax, word [esi]
push eax
call fcn.0040a730
test eax, eax
je 0x40d72e
mov esi, dword [ebp - 0x1b4]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xca
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov dword [edi], eax
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push 0
push 1
push eax
call fcn.0040b5a0
test eax, eax
je 0x40d772
mov esi, dword [ebp - 0x1b4]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xcf
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c4], 1
mov al, byte [ebp - 5]
mov byte [0x439bd4], al
jne 0x40d7c2
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push 0
push 1
push eax
call fcn.0040c0b0
test eax, eax
je 0x40d7c2
mov esi, dword [ebp - 0x1b4]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xd0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx eax, word [esi]
mov esi, dword [ebp - 0x1b4]
imul eax, eax, 0x13c
push esi
mov dword [eax + 0xee92c4], 1
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
lea eax, [ebp - 0x1b0]
push eax
push ecx
call fcn.0040b890
test eax, eax
js 0x40e01b
movzx eax, word [esi]
push eax
call fcn.0040a8a0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx edi, word [esi]
imul eax, edi, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx ecx, word [ebx]
mov eax, 0x1000
cmp cx, ax
ja 0x40f7b3
movzx eax, word [edx]
mov dword [ebp - 0x1c0], eax
add eax, ecx
cmp eax, 0x1000
ja 0x40f7b3
add ecx, 0x10
mov dword [ebp - 0x1b4], ecx
mov ebx, ecx
test cl, 0xf
je 0x40d941
mov eax, 0x88888889
and ebx, 0xfffffff0
mul ecx
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
shr edx, 8
inc dl
movzx eax, dl
imul eax, eax, 0x1e0
mov byte [ebp - 0x1b0], dl
sub ecx, eax
add ecx, 0x1e0
push ecx
push dword [ebp - 0x1b0]
push edi
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov ecx, dword [ebp - 0x1b4]
sub ecx, ebx
cmp ecx, 0x10
jge 0x40d938
mov eax, dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x1c0]
sub eax, ecx
xor edx, edx
mov edi, eax
nop dword [eax]
cmp edx, esi
jge 0x40d932
mov al, byte [ebp + ecx - 0x14]
inc edx
mov byte [edi + ecx], al
inc ecx
cmp ecx, 0x10
jl 0x40d920
mov esi, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1b4]
add ebx, 0x10
mov eax, dword [ebp - 0x1c0]
mov edi, dword [ebp - 0x1ac]
sub eax, ebx
add eax, ecx
mov dword [ebp - 0x1c4], 0
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [ebp - 0x1b8], eax
test eax, eax
jle 0x40d9f1
mov eax, 0x88888889
lea ecx, [ebp - 0x14]
imul ebx
push ecx
add edx, ebx
mov ecx, ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
inc al
mov byte [ebp - 0x1b0], al
movzx eax, al
imul eax, eax, 0x1e0
sub ecx, eax
movzx eax, word [esi]
add ecx, 0x1e0
push ecx
push dword [ebp - 0x1b0]
push eax
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov ecx, dword [ebp - 0x1b4]
mov eax, edi
movups xmm0, xmmword [ebp - 0x14]
sub eax, ecx
movups xmmword [eax + ebx], xmm0
mov eax, dword [ebp - 0x1c4]
add ebx, 0x10
inc eax
mov dword [ebp - 0x1c4], eax
cmp eax, dword [ebp - 0x1b8]
jl 0x40d972
add ecx, dword [ebp - 0x1c0]
cmp ecx, ebx
jle 0x40d5d3
mov eax, 0x88888889
mov ecx, ebx
sub ecx, dword [ebp - 0x1b4]
imul ebx
mov dword [ebp - 0x1c4], ecx
lea ecx, [ebp - 0x14]
add edx, ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
inc al
mov byte [ebp - 0x1b0], al
movzx eax, al
push ecx
imul eax, eax, 0x1e0
mov ecx, ebx
sub ecx, eax
movzx eax, word [esi]
add ecx, 0x1e0
push ecx
push dword [ebp - 0x1b0]
push eax
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov esi, dword [ebp - 0x1c0]
xor edx, edx
mov eax, esi
sub eax, ebx
mov ebx, dword [ebp - 0x1b4]
add ebx, eax
test ebx, ebx
jle 0x40d5d3
mov ecx, dword [ebp - 0x1c4]
cmp ecx, esi
jge 0x40d5d3
mov al, byte [ebp + edx - 0x14]
inc edx
mov byte [edi + ecx], al
inc ecx
cmp edx, ebx
jl 0x40da84
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, word [ebx]
mov ecx, 0x1000
cmp ax, cx
ja 0x40f7b3
movzx ebx, word [edx]
mov ecx, eax
mov dword [ebp - 0x1c0], ebx
lea eax, [ecx + ebx]
cmp eax, 0x1000
ja 0x40f7b3
add ecx, 0x10
mov dword [ebp - 0x1b4], ecx
mov edi, ecx
test cl, 0xf
je 0x40dbc3
mov eax, 0x88888889
and edi, 0xfffffff0
mul ecx
mov ecx, edi
mov dword [ebp - 0x1b8], edi
shr edx, 8
inc dl
movzx eax, dl
imul eax, eax, 0x1e0
mov byte [ebp - 0x1b0], dl
sub ecx, eax
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
add ecx, 0x1e0
push ecx
push dword [ebp - 0x1b0]
mov dword [ebp - 0x20], ecx
push eax
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f0df
mov ecx, dword [ebp - 0x1b4]
sub ecx, edi
cmp ecx, 0x10
jge 0x40db9c
mov edi, dword [ebp - 0x1ac]
sub edi, ecx
xor edx, edx
cmp edx, ebx
jge 0x40db96
mov al, byte [edi + ecx]
inc edx
mov byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0x10
jl 0x40db84
mov edi, dword [ebp - 0x1b8]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
movzx eax, word [esi]
push dword [ebp - 0x1b0]
push eax
call fcn.0040c0b0
test eax, eax
jne 0x40f0df
mov ecx, dword [ebp - 0x1b4]
add edi, 0x10
mov eax, ebx
mov dword [ebp - 0x1b8], 0
mov ebx, dword [ebp - 0x1ac]
sub eax, edi
add eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x40dc64
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, 0x88888889
mov ecx, edi
imul edi
add edx, edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
inc al
mov byte [ebp - 0x1b0], al
movzx eax, al
imul eax, eax, 0x1e0
sub ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0x1e0
movups xmm0, xmmword [eax + edi]
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push ecx
push dword [ebp - 0x1b0]
movups xmmword [ebp - 0x14], xmm0
push eax
call fcn.0040c0b0
test eax, eax
jne 0x40f0df
mov eax, dword [ebp - 0x1b8]
add edi, 0x10
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x1c]
jl 0x40dbf4
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1c0]
add eax, ecx
cmp eax, edi
jle 0x40d5d3
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
inc al
mov byte [ebp - 0x1b0], al
movzx eax, al
imul eax, eax, 0x1e0
sub edx, eax
mov eax, edi
sub eax, ecx
add edx, 0x1e0
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push edx
push dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], edx
push eax
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f0df
mov eax, dword [ebp - 0x1c0]
xor ecx, ecx
mov edx, dword [ebp - 0x1b4]
sub eax, edi
add eax, edx
mov dword [ebp - 0x20], eax
test eax, eax
jle 0x40dd1e
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x14]
sub ebx, edx
add ebx, edi
mov edi, dword [ebp - 0x1c0]
sub esi, eax
lea edx, [ebp - 0x14]
add edx, ecx
lea eax, [edx + esi]
cmp eax, edi
jge 0x40dd18
mov al, byte [ebx]
inc ecx
inc ebx
mov byte [edx], al
cmp ecx, dword [ebp - 0x20]
jl 0x40dd01
mov esi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x1b0]
jmp 0x40f0ce
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0xc]
push eax
push ecx
call fcn.0040b450
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jns 0x40dd8d
pop edi
pop esi
mov eax, 0xd1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx eax, word [ebp - 0xc]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1c0]
mov word [ebx], ax
movzx eax, word [ebp - 0xa]
mov word [edx], ax
movzx eax, word [ebp - 8]
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, word [ebp - 6]
pop edi
pop esi
mov word [ecx], ax
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0xc]
push eax
push dword [edi]
push ecx
call fcn.0040bb10
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jns 0x40de2a
pop edi
pop esi
mov eax, 0xd2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1b0]
movzx eax, word [ebp - 0xc]
mov esi, dword [ebp - 0x1c0]
mov edi, dword [ebp - 0x1b8]
mov word [ebx], ax
movzx eax, word [ebp - 0xa]
mov word [edx], ax
movzx eax, word [ebp - 8]
mov word [esi], ax
movzx eax, word [ebp - 6]
mov word [edi], ax
movzx ecx, word [ebx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [esi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [esi], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
mov eax, dword [edi]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1b0]
push eax
push ecx
call fcn.0040c360
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jns 0x40d5d3
pop edi
pop esi
mov eax, 0xcb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1b0]
push eax
push ecx
call fcn.0040b890
test eax, eax
js 0x40e01b
mov eax, dword [ebp - 0x1b0]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx edi, word [esi]
imul eax, edi, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx esi, word [ebx]
cmp esi, 0x40
ja 0x40f7b3
mov ecx, dword [ebp - 0x1c0]
mov al, byte [ecx]
mov byte [ebp - 0x19], al
movzx eax, word [edx]
push eax
push dword [ebp - 0x19]
push esi
push edi
call fcn.0040c220
test eax, eax
jns 0x40d5d3
pop edi
pop esi
mov eax, 0xd4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp word [ebx], 0x3f
ja 0x40f7b3
lea eax, [ebp - 0x14]
push eax
push ecx
call fcn.0040a5c0
test eax, eax
js 0x40e01b
movzx ecx, word [ebx]
mov edx, dword [ebp - 0x1b0]
mov eax, ecx
shr eax, 3
and cl, 7
pop edi
pop esi
movzx eax, byte [ebp + eax - 0x14]
shr al, cl
and al, 1
movzx eax, al
mov word [edx], ax
movzx ecx, word [ebx]
mov eax, ecx
and cl, 7
shr eax, 3
pop ebx
movzx eax, byte [ebp + eax - 0xc]
shr al, cl
mov ecx, dword [ebp - 0x1c0]
and al, 1
movzx eax, al
mov word [ecx], ax
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp word [ebx], 0x7f
ja 0x40f7b3
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
push ecx
call fcn.0040a220
add esp, 4
test ax, ax
jne 0x40e125
movzx eax, word [ebx]
mov edi, dword [ebp - 0x1ac]
push edi
push eax
movzx eax, word [esi]
push eax
call fcn.0040d060
add esp, 0xc
test eax, eax
jne 0x40d5d3
pop edi
pop esi
mov eax, 0xfd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1b4]
mov al, byte [edi]
mov byte [ebp - 0x19], al
mov cl, byte [ecx]
mov byte [ebp - 0x20], cl
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp dword [edi], 0x7f
ja 0x40f7b3
cmp cl, 0x3f
ja 0x40f7b3
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
movzx ecx, word [ebx]
mov edi, dword [ebp - 0x1c0]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
mov eax, dword [ebp - 0x1b8]
movzx ecx, word [eax]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ab], cl
mov ecx, dword [ebp - 0x1b8]
mov byte [ebp - 0x1ac], al
mov ax, word [ebp - 0x1ac]
mov word [ebp - 6], ax
mov word [ecx], ax
lea eax, [ebp - 0xc]
movzx ecx, word [ebx]
push eax
push dword [ebp - 0x19]
movzx eax, word [esi]
push dword [ebp - 0x20]
mov word [ebp - 0xc], cx
movzx ecx, word [edx]
mov word [ebp - 0xa], cx
movzx ecx, word [edi]
push 1
push eax
mov word [ebp - 8], cx
call fcn.0040a8f0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
js 0x40e69d
mov edx, dword [ebp - 0x1b0]
movzx eax, word [ebp - 0xc]
mov esi, dword [ebp - 0x1b8]
mov word [ebx], ax
movzx eax, word [ebp - 0xa]
mov word [edx], ax
movzx eax, word [ebp - 8]
mov word [edi], ax
movzx eax, word [ebp - 6]
mov word [esi], ax
movzx ecx, word [ebx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
movzx ecx, word [esi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
pop edi
mov word [esi], ax
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov al, byte [edi]
mov byte [ebp - 0x19], al
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp dword [edi], 0x7f
ja 0x40f7b3
movzx ecx, word [ebx]
mov edi, dword [ebp - 0x1c0]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ab], cl
mov byte [ebp - 0x1ac], al
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
mov eax, dword [ebp - 0x1b8]
movzx ecx, word [eax]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ab], cl
mov ecx, dword [ebp - 0x1b8]
mov byte [ebp - 0x1ac], al
mov ax, word [ebp - 0x1ac]
mov word [ebp - 6], ax
mov word [ecx], ax
lea eax, [ebp - 0x24]
movzx ecx, word [ebx]
mov word [ebp - 0xc], cx
movzx ecx, word [edx]
mov word [ebp - 0xa], cx
movzx ecx, word [edi]
mov word [ebp - 8], cx
mov ecx, dword [ebp - 0x1b4]
push eax
movzx eax, word [esi]
push dword [ecx]
push eax
call fcn.0040bb10
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x19]
movzx eax, word [esi]
push 0
push 2
push eax
call fcn.0040a8f0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
js 0x40e69d
mov edx, dword [ebp - 0x1b0]
movzx eax, word [ebp - 0xc]
mov esi, dword [ebp - 0x1b8]
mov word [ebx], ax
movzx eax, word [ebp - 0xa]
mov word [edx], ax
movzx eax, word [ebp - 8]
mov word [edi], ax
movzx eax, word [ebp - 6]
mov word [esi], ax
movzx ecx, word [ebx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
movzx ecx, word [esi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
pop edi
mov word [esi], ax
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1b4]
mov al, byte [edi]
mov byte [ebp - 0x19], al
mov cl, byte [ecx]
mov byte [ebp - 0x20], cl
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp dword [edi], 0x7f
ja 0x40f7b3
cmp cl, 0x3f
ja 0x40f7b3
movzx ecx, word [ebx]
mov edi, dword [ebp - 0x1c0]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [ebx], ax
movzx ecx, word [edx]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edx], ax
movzx ecx, word [edi]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ac], al
mov byte [ebp - 0x1ab], cl
movzx eax, word [ebp - 0x1ac]
mov word [edi], ax
mov eax, dword [ebp - 0x1b8]
movzx ecx, word [eax]
mov word [ebp - 0x1ac], cx
movzx eax, byte [ebp - 0x1ab]
mov byte [ebp - 0x1ab], cl
mov ecx, dword [ebp - 0x1b8]
mov byte [ebp - 0x1ac], al
mov ax, word [ebp - 0x1ac]
mov word [ebp - 6], ax
mov word [ecx], ax
lea eax, [ebp - 0xc]
movzx ecx, word [ebx]
push eax
push dword [ebp - 0x19]
movzx eax, word [esi]
push dword [ebp - 0x20]
mov word [ebp - 0xc], cx
movzx ecx, word [edx]
mov word [ebp - 0xa], cx
movzx ecx, word [edi]
push 3
push eax
mov word [ebp - 8], cx
call fcn.0040a8f0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jns 0x40e277
pop edi
pop esi
mov eax, 0xd3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx edx, word [ebx]
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
push edx
push ecx
call fcn.0040aac0
jmp 0x40f268
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
mov eax, dword [edi]
dec eax
cmp eax, 2
ja 0x40f209
xor ebx, ebx
push 0
call fcn.0041a4c3
push eax
call fcn.0041f537
add esp, 8
call fcn.0041f516
mov byte [ebp + ebx - 0x14], al
inc ebx
cmp ebx, 0x10
jl 0x40e726
mov al, byte [edi]
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 0x19], al
push dword [ebp - 0x19]
movzx eax, word [esi]
push eax
jmp 0x40f1db
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1a8]
push eax
call fcn.0040ff00
push 4
lea eax, [ebp - 0x1a8]
push edi
push eax
call fcn.004105c0
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0040fe70
add esp, 0x18
cmp dword [0xee9084], 1
jb 0x40e01b
xor edi, edi
lea esi, [ebp - 0x50]
movzx eax, byte [ebp + edi - 0x2c]
push eax
push 0x430300
push esi
call fcn.004011c0
inc edi
add esp, 0xc
add esi, 2
cmp edi, 0x10
jl 0x40e7c5
mov esi, dword [ebp - 0x1c4]
xor ebx, ebx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
lea edx, [ebx + 3]
lea edi, [ebx + 1]
mov eax, ebx
lea ecx, [ebp - 0xc]
and eax, 7
add ebx, 4
add ecx, eax
movzx eax, byte [ebp + edi - 0x2d]
xor byte [ecx], al
mov eax, edi
and eax, 7
lea ecx, [ebp - 0xc]
add ecx, eax
movzx eax, byte [ebp + edi - 0x2c]
add edi, 4
xor byte [ecx], al
lea eax, [edx - 1]
and eax, 7
lea ecx, [ebp - 0xc]
add ecx, eax
movzx eax, byte [ebp + edx - 0x2d]
xor byte [ecx], al
mov eax, edx
and eax, 7
lea ecx, [ebp - 0xc]
add ecx, eax
movzx eax, byte [ebp + edx - 0x2c]
add edx, 4
xor byte [ecx], al
cmp edi, 0x11
jl 0x40e7f8
mov ebx, dword [ebp - 0x1c]
movzx eax, word [ebp - 0xc]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1c0]
mov word [ebx], ax
movzx eax, word [ebp - 0xa]
mov word [edx], ax
movzx eax, word [ebp - 8]
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, word [ebp - 6]
mov word [ecx], ax
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 0x1b4]
push ecx
push eax
movzx eax, word [esi]
push eax
call fcn.0040bca0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xe1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov edx, dword [edi]
mov eax, dword [ebp - 0x1b4]
lea edx, [edx + 7]
mov bl, byte [eax]
shr edx, 3
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x19], bl
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
test byte [edi], 7
jne 0x40f7b3
dec bl
cmp bl, 2
ja 0x40f209
xor ebx, ebx
test edx, edx
je 0x40d5d3
lea edi, [ecx + 2]
nop dword [eax + eax]
movzx eax, byte [edi - 2]
mov byte [ebp - 0xc], al
movzx eax, byte [edi - 1]
mov byte [ebp - 0xb], al
movzx eax, byte [edi]
mov byte [ebp - 0xa], al
movzx eax, byte [edi + 1]
mov byte [ebp - 9], al
movzx eax, byte [edi + 2]
mov byte [ebp - 8], al
movzx eax, byte [edi + 3]
mov byte [ebp - 7], al
movzx eax, byte [edi + 4]
mov byte [ebp - 6], al
movzx eax, byte [edi + 5]
mov byte [ebp - 5], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x19]
movzx eax, word [esi]
push 1
push eax
call fcn.0040c480
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40e9cf
movzx eax, byte [ebp - 0xc]
inc ebx
mov byte [edi - 2], al
movzx eax, byte [ebp - 0xb]
mov byte [edi - 1], al
movzx eax, byte [ebp - 0xa]
mov byte [edi], al
movzx eax, byte [ebp - 9]
mov byte [edi + 1], al
movzx eax, byte [ebp - 8]
mov byte [edi + 2], al
movzx eax, byte [ebp - 7]
mov byte [edi + 3], al
movzx eax, byte [ebp - 6]
mov byte [edi + 4], al
movzx eax, byte [ebp - 5]
mov byte [edi + 5], al
add edi, 8
cmp ebx, dword [ebp - 0x20]
jl 0x40e920
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xe4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov edx, dword [edi]
mov eax, dword [ebp - 0x1b4]
lea edx, [edx + 7]
mov bl, byte [eax]
shr edx, 3
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x19], bl
test esi, esi
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
test byte [edi], 7
jne 0x40f7b3
dec bl
cmp bl, 2
ja 0x40f209
xor ebx, ebx
test edx, edx
je 0x40d5d3
lea edi, [ecx + 2]
nop word [eax + eax]
movzx eax, byte [edi - 2]
mov byte [ebp - 0xc], al
movzx eax, byte [edi - 1]
mov byte [ebp - 0xb], al
movzx eax, byte [edi]
mov byte [ebp - 0xa], al
movzx eax, byte [edi + 1]
mov byte [ebp - 9], al
movzx eax, byte [edi + 2]
mov byte [ebp - 8], al
movzx eax, byte [edi + 3]
mov byte [ebp - 7], al
movzx eax, byte [edi + 4]
mov byte [ebp - 6], al
movzx eax, byte [edi + 5]
mov byte [ebp - 5], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x19]
movzx eax, word [esi]
push 2
push eax
call fcn.0040c480
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40eaff
movzx eax, byte [ebp - 0xc]
inc ebx
mov byte [edi - 2], al
movzx eax, byte [ebp - 0xb]
mov byte [edi - 1], al
movzx eax, byte [ebp - 0xa]
mov byte [edi], al
movzx eax, byte [ebp - 9]
mov byte [edi + 1], al
movzx eax, byte [ebp - 8]
mov byte [edi + 2], al
movzx eax, byte [ebp - 7]
mov byte [edi + 3], al
movzx eax, byte [ebp - 6]
mov byte [edi + 4], al
movzx eax, byte [ebp - 5]
mov byte [edi + 5], al
add edi, 8
cmp ebx, dword [ebp - 0x20]
jl 0x40ea50
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xe5
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1b0]
push eax
push ecx
call fcn.0040b890
test eax, eax
js 0x40e01b
lea eax, [ebp - 0x1a8]
push eax
call fcn.0040ff00
push dword [edi]
mov edi, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1a8]
push edi
push eax
call fcn.004105c0
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040fe70
mov eax, dword [ebp - 0x1b4]
add esp, 0x18
cmp dword [eax], 0
jne 0x40ebd4
xor esi, esi
mov ebx, edi
nop dword [eax + eax]
movzx eax, byte [ebp + esi - 0x14]
push eax
push 0x430300
push ebx
call fcn.004011c0
inc esi
add esp, 0xc
add ebx, 2
cmp esi, 0x10
jl 0x40eba0
mov byte [edi + 0x20], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [ebp - 0x14]
mov byte [edi + 0x10], 0
xor eax, eax
movups xmmword [edi], xmm0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0x1e0
push 0x10
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40ec53
pop edi
pop esi
mov eax, 0xe2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0x1e0
push 0x10
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40ecd7
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push 0x1e0
push 0x10
push eax
call fcn.0040c0b0
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xe3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
test edi, edi
je 0x40fa68
test ebx, ebx
je 0x40fa68
test edx, edx
je 0x40fa68
cmp dword [ebp - 0x1c0], 0
je 0x40fa68
cmp dword [ebp - 0x1b8], 0
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, byte [edi]
lea edx, [ebp - 0x14]
push edx
shl eax, 4
push eax
push 0xf
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f4f2
movzx eax, byte [ebp - 0x14]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1c0]
mov word [ebx], ax
movzx eax, byte [ebp - 0x13]
mov word [edx], ax
movzx eax, byte [ebp - 0x12]
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, byte [ebp - 0x11]
pop edi
pop esi
mov word [ecx], ax
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
test edi, edi
je 0x40fa68
test ebx, ebx
je 0x40fa68
test edx, edx
je 0x40fa68
cmp dword [ebp - 0x1c0], 0
je 0x40fa68
cmp dword [ebp - 0x1b8], 0
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, byte [edi]
lea edx, [ebp - 0x14]
push edx
shl eax, 4
push eax
push 0xf
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f4f2
cmp byte [ebp - 0x10], 0xaa
movzx eax, byte [ebp - 0x14]
mov cl, byte [ebp - 0xb]
mov ch, byte [ebp - 0xa]
mov dl, byte [ebp - 9]
mov byte [ebp - 0x1ac], al
movzx eax, byte [ebp - 0x13]
mov byte [ebp - 0x1ab], al
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x1aa], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x1a9], al
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x1b4], al
mov byte [ebp - 0x1b3], cl
mov byte [ebp - 0x1b2], ch
mov byte [ebp - 0x1b1], dl
jne 0x40eeee
push 0
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.0040c6e0
movzx eax, byte [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1c0]
mov word [ebx], ax
movzx eax, byte [ebp - 0x1b3]
mov word [edx], ax
movzx eax, byte [ebp - 0x1b2]
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, byte [ebp - 0x1b1]
pop edi
pop esi
mov word [ecx], ax
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x1b0]
movzx eax, al
mov word [ebx], ax
movzx eax, cl
mov word [edx], ax
movzx eax, ch
mov ecx, dword [ebp - 0x1c0]
pop edi
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, byte [ebp - 9]
mov word [ecx], ax
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0x1e0
push 0x10
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov eax, dword [ebp - 8]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0x1e0
push 0x10
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov eax, dword [ebp - 0xc]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0x1e0
push 0x10
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov eax, dword [ebp - 0x10]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0
push 1
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f0df
mov edi, dword [ebp - 0x1ac]
mov eax, dword [edi + 8]
movq xmm0, qword [edi]
mov dword [ebp - 0xa], eax
mov ax, word [edi + 0xc]
mov word [ebp - 6], ax
lea eax, [ebp - 0x14]
push eax
push 0
movq qword [ebp - 0x12], xmm0
push 1
movzx eax, word [esi]
push eax
call fcn.0040c0b0
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xd0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x14]
push eax
push 0
push 1
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40d75c
mov edi, dword [ebp - 0x1ac]
movq xmm0, qword [ebp - 0x12]
mov eax, dword [ebp - 0xa]
movq qword [edi], xmm0
mov dword [edi + 8], eax
mov ax, word [ebp - 6]
mov word [edi + 0xc], ax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx esi, word [esi]
imul eax, esi, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
mov ecx, dword [edi]
lea eax, [ecx - 1]
cmp eax, 2
ja 0x40f209
movzx eax, word [ebx]
xorps xmm0, xmm0
movups xmmword [ebp - 0x14], xmm0
mov word [ebp - 0x14], ax
movzx eax, word [edx]
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x1c0]
movzx eax, word [eax]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x1b8]
movzx eax, word [eax]
mov word [ebp - 8], ax
lea eax, [ebp - 0x14]
push eax
push ecx
push esi
call fcn.0040b9d0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xde
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xe0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx]
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
push eax
movzx eax, word [esi]
push 0
push 0
push eax
call fcn.0040c220
jmp 0x40f268
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, word [esi]
push ebx
push 0
push eax
call fcn.0040b770
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jns 0x40d5d3
pop edi
pop esi
mov eax, 0xd8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
push dword [ebp - 0x1c0]
movzx eax, byte [ebx]
push eax
push ecx
call fcn.0040b770
jmp 0x40e013
test esi, esi
je 0x40fa68
test edi, edi
je 0x40fa68
cmp dword [ebp - 0x1b4], 0
je 0x40fa68
test ebx, ebx
je 0x40fa68
test edx, edx
je 0x40fa68
mov ecx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x40fa68
cmp dword [ebp - 0x1b8], 0
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, byte [edi]
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x1b4]
mov byte [ebp - 0x19], 0
movzx eax, byte [eax]
mov byte [ebp - 0x1b], al
movzx eax, byte [ebx]
mov byte [ebp - 0x1a], al
movzx eax, byte [edx]
mov byte [ebp - 0x18], al
movzx eax, byte [ecx]
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x1c]
push eax
movzx eax, word [esi]
push eax
call fcn.0040be40
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f459
lea eax, [ebp - 0x1c]
push eax
movzx eax, word [esi]
push eax
call fcn.0040afa0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xe6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
test edi, edi
je 0x40fa68
cmp dword [ebp - 0x1b4], 0
je 0x40fa68
test ebx, ebx
je 0x40fa68
test edx, edx
je 0x40fa68
cmp dword [ebp - 0x1c0], 0
je 0x40fa68
cmp dword [ebp - 0x1b8], 0
je 0x40fa68
movzx eax, word [esi]
imul eax, eax, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1c]
push eax
call fcn.0040c680
lea eax, [ebp - 0x1c]
push eax
movzx eax, word [esi]
push eax
call fcn.0040be40
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40f390
pop edi
pop esi
mov eax, 0xe7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x40fa68
test edi, edi
je 0x40fa68
cmp dword [ebp - 0x1b4], 0
je 0x40fa68
test ebx, ebx
je 0x40fa68
test edx, edx
je 0x40fa68
cmp dword [ebp - 0x1c0], 0
je 0x40fa68
cmp dword [ebp - 0x1b8], 0
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1c]
push eax
push ecx
call fcn.0040afa0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40f508
pop edi
pop esi
mov eax, 0xe6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebp - 0x1c]
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b0]
mov dword [edi], eax
movzx eax, byte [ebp - 0x1b]
mov dword [ecx], eax
movzx eax, byte [ebp - 0x1a]
mov ecx, dword [ebp - 0x1c0]
mov word [ebx], ax
movzx eax, byte [ebp - 0x18]
mov word [edx], ax
movzx eax, byte [ebp - 0x17]
mov word [ecx], ax
mov ecx, dword [ebp - 0x1b8]
movzx eax, byte [ebp - 0x16]
pop edi
pop esi
mov word [ecx], ax
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov cl, byte [edi]
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp cl, 0x20
jae 0x40f7b3
movzx edx, word [esi]
imul eax, edx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
movzx eax, cl
shl eax, 4
push eax
push 0xf
push edx
movups xmmword [ebp - 0x14], xmm0
call fcn.0040c0b0
jmp 0x40f8fb
movzx eax, byte [ebx]
mov cl, byte [edi]
mov byte [ebp - 0x1b0], al
movzx eax, byte [edx]
mov byte [ebp - 0x1af], al
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 0x1b9], cl
movzx eax, byte [eax]
mov byte [ebp - 0x1ae], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x1ad], al
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp cl, 0x20
jae 0x40f7b3
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
movzx edi, byte [ebp - 0x1b9]
lea eax, [ebp - 0x14]
push eax
mov eax, edi
shl eax, 4
push eax
push 0xf
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40f90e
mov ebx, dword [ebp - 0x1b4]
cmp dword [ebx], eax
je 0x40f666
cmp byte [ebp - 0x14], al
jne case.0x40d45c.40
movzx eax, word [esi]
push 3
push eax
call fcn.0040b390
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
push 1
movzx eax, word [esi]
push edi
push eax
call fcn.0040c9d0
cmp dword [ebx], 0
mov edi, eax
je 0x40f68f
movzx ecx, word [esi]
push 0
push ecx
call fcn.0040b390
test edi, edi
jmp 0x40f908
movzx eax, byte [ebx]
mov cl, byte [edi]
mov byte [ebp - 0x1b0], al
movzx eax, byte [edx]
mov byte [ebp - 0x1af], al
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 0x1b9], cl
movzx eax, byte [eax]
mov byte [ebp - 0x1ae], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x1ad], al
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp cl, 0x20
jae 0x40f7b3
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
movzx edi, byte [ebp - 0x1b9]
lea eax, [ebp - 0x14]
push eax
mov eax, edi
shl eax, 4
push eax
push 0xf
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40fb3a
mov ebx, dword [ebp - 0x1b4]
cmp dword [ebx], eax
je 0x40f74c
cmp byte [ebp - 0x14], al
jne case.0x40d45c.40
movzx eax, word [esi]
push 3
push eax
call fcn.0040b390
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
push 0xff
jmp 0x40f673
movzx eax, byte [ebx]
mov cl, byte [edi]
mov byte [ebp - 0x1b0], al
movzx eax, byte [edx]
mov byte [ebp - 0x1af], al
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 0x1b9], cl
movzx eax, byte [eax]
mov byte [ebp - 0x1ae], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x1ad], al
test esi, esi
je 0x40fa68
cmp byte [0x439bd4], 1
je 0x40d6a7
cmp cl, 0x20
jb 0x40f7c9
pop edi
pop esi
mov eax, 0xcc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
movzx edi, byte [ebp - 0x1b9]
lea eax, [ebp - 0x14]
push eax
mov eax, edi
shl eax, 4
push eax
push 0xf
push ecx
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
jne 0x40fb3a
mov ebx, dword [ebp - 0x1b4]
cmp dword [ebx], eax
je 0x40f829
cmp byte [ebp - 0x14], al
jne case.0x40d45c.40
movzx eax, word [esi]
push 3
push eax
call fcn.0040b390
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
push 0
jmp 0x40f673
mov al, byte [edi]
mov byte [ebp - 0x1b9], al
movzx eax, byte [ebx]
mov byte [ebp - 0x1b0], al
movzx eax, byte [edx]
mov byte [ebp - 0x1af], al
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [eax]
mov byte [ebp - 0x1ae], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x1ad], al
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1b0]
push eax
movzx eax, byte [ebp - 0x1b9]
push 0
push 0
push 2
jmp 0x40f8f4
mov dl, byte [edi]
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
movzx eax, word [ebx]
push 0
push eax
mov eax, dword [ebp - 0x1b4]
push dword [eax]
movzx eax, dl
push 3
push eax
push ecx
call fcn.0040c9d0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40d5d3
pop edi
pop esi
mov eax, 0xe8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov al, byte [edi]
mov byte [ebp - 0x1b9], al
movzx eax, byte [ebx]
mov byte [ebp - 0x1b0], al
movzx eax, byte [edx]
mov byte [ebp - 0x1af], al
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [eax]
mov byte [ebp - 0x1ae], al
mov eax, dword [ebp - 0x1b8]
movzx eax, byte [eax]
mov byte [ebp - 0x1ad], al
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
push ebx
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x1b0]
push eax
movzx eax, byte [ebp - 0x1b9]
push 0
push eax
push ecx
call fcn.0040c800
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov dl, byte [edi]
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
push ebx
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1c]
push eax
push 0
push 1
movzx eax, dl
push eax
push ecx
call fcn.0040c800
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov dl, byte [edi]
test esi, esi
je 0x40fa68
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
push ebx
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1c]
push eax
push 0
push 2
movzx eax, dl
push eax
push ecx
call fcn.0040c800
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x40fa7e
pop edi
pop esi
mov eax, 0xfe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx ecx, word [esi]
imul eax, ecx, 0x13c
cmp dword [eax + 0xee92c4], 0
je 0x40e01b
cmp byte [0x439bd4], 1
je 0x40d6a7
lea eax, [ebp - 0x1c]
push eax
push ecx
call fcn.0040afa0
test eax, eax
jne 0x40fac6
mov dword [edi], 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x14]
push eax
movzx eax, word [esi]
push 0x1e0
push 0x10
push eax
call fcn.0040b5a0
cmp eax, 0xa0100002
je 0x40e01b
test eax, eax
je 0x40faff
pop edi
pop esi
mov eax, 0x100
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp dword [ebp - 8], 6
jne 0x40fb1e
mov dword [edi], 0x66
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov dword [edi], 0x67
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov eax, 0xcd
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004106cd
mov esp, ebp
pop ebp
ret