Function at 0x421030
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov dword [esp + 8], 0xfb04f9e1
mov dword [esp + 0xc], 0xff19fd6b
mov dword [esp + 0x10], 0xf36cf11d
mov dword [esp + 0x14], 0xf764f531
mov dword [esp + 0x18], 0xeb2ce966
mov dword [esp + 0x1c], 0xef78ed09
mov dword [esp + 0x20], 0xe3c7e10d
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0xe5e2
mov byte [esp + 0x28], 0
xor edx, edx
mov ecx, 2
nop
movzx esi, byte [esp + edx + 8]
lea edi, [ecx - 2]
and edi, 0x3c
mov ebx, edx
xor ebx, 0xc029899f
add ebx, edi
xor ebx, esi
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x94]
add bl, 0xa7
mov byte [esp + edx + 8], bl
lea esi, [edx + 1]
cmp esi, 0x21
je 0x4210f8
mov edi, ecx
and edi, 0x3e
lea ebx, [esi - 1]
xor ebx, 0xc029899e
add ebx, edi
movzx edi, byte [esp + edx + 9]
xor ebx, edi
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x94]
add bl, 0xa7
mov byte [esp + edx + 9], bl
add ecx, 4
inc esi
mov edx, esi
jmp 0x421090
lea esi, [esp + 0xf6]
lea edx, [esp + 8]
mov edi, esi
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x112]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x68]
push edi
push 0
push 0
push 0xe
push esi
push 0
call dword [0x44ed8c]
mov ebx, dword [esp + 0x68]
test ebx, ebx
jns 0x421144
mov eax, 0xffffffff
jmp 0x421147
lea eax, [ebx + ebx]
push eax
call fcn.00408c10
add esp, 4
push edi
push ebx
mov dword [esp + 0x68], eax
push eax
push 0xe
push esi
push 0
call dword [0x44ed8c]
mov dword [esp + 8], 0x3b48394a
mov dword [esp + 0xc], 0x3f593d59
mov dword [esp + 0x10], 0x23432153
mov dword [esp + 0x14], 0x2743254b
mov dword [esp + 0x18], 0x2b2829b3
lea eax, [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 8]
lea ebx, [ecx - 0xca64e59]
mov edi, 0xca64e58
sub edi, ecx
lea eax, [ecx*2 - 0x194c9cb2]
neg eax
lea esi, [ecx + eax]
add esi, 0xf359b1a6
or esi, edx
and edi, 0x886404a
and ebx, 0xb1090135
or edi, ebx
add ebx, ebx
sub edi, ebx
add edi, 0xb5290f35
mov ebx, edx
not ebx
mov eax, edi
not eax
or eax, edx
xor edi, edx
add ebx, edi
sub edx, edi
and ebx, eax
not eax
and edx, eax
not ebx
add ebx, edx
not esi
or ebx, esi
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 0x94]
add al, 0x6f
mov byte [esp + ecx + 8], al
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 0x20
jb 0x4211b0
lea edi, [esp + 0xe2]
lea eax, [esp + 8]
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf6]
xor ecx, ecx
mov eax, dword [esp]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x68]
mov ecx, eax
add ecx, 9
jns 0x421267
mov eax, 0xffffffff
jmp 0x42126e
lea eax, [eax*2 + 0x12]
push eax
call fcn.00408c10
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x60]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4212a1
mov eax, dword [esp + 0x60]
lea edx, [eax + 2]
mov eax, esi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421290
mov word [eax], 0
movzx ecx, word [esp + 0xe2]
test cx, cx
je 0x4212d1
lea edx, [esp + 0xe4]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4212c0
mov word [eax], 0
lea eax, [esp + 0x90]
push eax
push esi
call fcn.00441e10
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 0x64], esi
jmp dword [eax*4 + 0x44a0c4]