Function at 0x402067
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, esi
sub edi, dword [ecx + 0xc]
add esi, 0xfffffffc
shr edi, 0xf
mov ecx, edi
imul ecx, ecx, 0x204
lea ecx, [ecx + eax + 0x144]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi]
dec ecx
mov dword [ebp - 4], ecx
test cl, 1
jne 0x402379
push ebx
lea ebx, [ecx + esi]
mov edx, dword [ebx]
mov dword [ebp - 0xc], edx
mov edx, dword [esi - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0xc], ebx
test dl, 1
jne 0x402134
sar edx, 4
dec edx
cmp edx, 0x3f
jbe 0x4020cc
push 0x3f
pop edx
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebx + 8]
jne 0x402116
mov ebx, 0x80000000
cmp edx, 0x20
jae 0x4020f7
mov ecx, edx
shr ebx, cl
lea ecx, [edx + eax + 4]
not ebx
and dword [eax + edi*4 + 0x44], ebx
invalid
jge 0x402101
mov ecx, dword [ebp + 0x10]
mov ebx, ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
pop ebp
ret
and dword [ebp - 4], 0
push esi
push edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lodsb al, byte [esi]
scasb al, byte es:[edi]
jne 0x40212e
test al, al
jne 0x402122
xor eax, eax
jmp 0x402137
mov eax, 1
jl 0x402137
add dh, bh
fmul dword [ecx + 0x458bfc45]
cld
neg eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
leave
ret
js 0x4023b7
add edi, eax
movzx eax, word [edi + 0x14]
lea esi, [eax + edi + 0x18]
mov dword [ebp - 0x44], esi
call fcn.0040217c
neg dword [0xb70fd0b7]
inc edi
push es
lea eax, [eax + eax*4]
shl eax, 3
sub eax, dword [ebp + 0x10]
add eax, esi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], eax
call fcn.0040217c
add dword [ebp - 0x74992350], 0x47
push es
cmp ax, bx
cmp eax, ebx
jbe 0x4023d6
lea ecx, [esi + 0xc]
movzx edx, ax
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x4023d0
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x4023c1
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], pe_nt_image_headers32
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.0040217c
mov edi, 0x8df55c51
inc ebp
test al, 0x50
call fcn.0040218c
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.00402141
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x40246a
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.0040217c
push ecx
push es
push ds
ror dword [ebp - 0x17af3fbb], 1
invalid