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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov ebp, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ecx, dword [ebp + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x422000
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x422010
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x422030
mov eax, 0xffffffff
jmp 0x422039
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408220
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x50], 0xe911eb06
mov dword [esp + 0x54], 0xed05ef1d
mov dword [esp + 0x58], 0xf137f31a
mov dword [esp + 0x5c], 0xf504f701
mov dword [esp + 0x60], 0xf911fb00
mov dword [esp + 0x64], 0xfd0aff00
mov dword [esp + 0x68], 0x81668333
mov dword [esp + 0x6c], 0x85b28743
mov dword [esp + 0x70], 0x89b58bb2
mov dword [esp + 0x74], 0x8db18fbc
mov dword [esp + 0x78], 0x91ab93b6
mov dword [esp + 0x7c], 0x95a997a6
mov dword [esp + 0x80], 0x99469baf
mov dword [esp + 0x84], 0x9d7a9f77
mov dword [esp + 0x88], 0xa1a2a37a
mov byte [esp + 0x8c], 0
xor eax, eax
movzx ecx, byte [esp + eax + 0x50]
mov edx, eax
and edx, 0x25
mov edi, eax
and edi, 2
mov esi, edi
xor esi, 2
imul esi, edx
or edx, 2
imul edx, edi
add edx, esi
mov esi, eax
xor esi, 0xe129a0a7
mov edi, edx
and edi, esi
xor esi, edx
lea edx, [esi + edi*2]
mov esi, ecx
not esi
mov edi, esi
and edi, 0x25
or esi, 0xda
add ecx, esi
inc ecx
or ecx, edi
xor ecx, edx
xor cl, 0x25
add cl, 0xbd
mov byte [esp + eax + 0x50], cl
mov ecx, eax
and ecx, 0xf
or eax, 0x78bda18f
add ecx, eax
inc ecx
inc eax
xor ecx, 0x78bda18f
and eax, 0x7f
add eax, eax
sub eax, ecx
cmp eax, 0x3d
jb 0x4220d0
mov dword [esp + 8], 0x23b1214c
mov dword [esp + 0xc], 0x27b925b0
mov dword [esp + 0x10], 0x5b3b59ca
mov dword [esp + 0x14], 0x5f3b5d3b
mov dword [esp + 0x18], 0x5336513c
mov dword [esp + 0x1c], 0x57305531
mov dword [esp + 0x20], 0x4bdf4929
mov dword [esp + 0x24], 0x4fda4dd0
mov dword [esp + 0x28], 0x43df412c
mov dword [esp + 0x2c], 0x47cc45db
mov dword [esp + 0x30], 0x7b1f7925
mov dword [esp + 0x34], 0x7fea7df4
mov dword [esp + 0x38], 0x73ec7115
mov dword [esp + 0x3c], 0x77ef75e7
mov dword [esp + 0x40], 0x6bf469f7
mov dword [esp + 0x44], 0x6f356d37
mov dword [esp + 0x48], 0x6362613b
mov dword [esp + 0x4c], 0
mov eax, 0x22624738
mov ecx, 0xc7
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x22624730]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
lea esi, [edx + 0xe7]
mov edi, edx
not edi
and edi, 1
and edx, 1
and esi, 0xfe
or esi, edx
lea edx, [esi + edi*2]
mov byte [esp + eax - 0x22624730], dl
inc eax
dec ecx
cmp eax, 0x22624780
jne 0x4221e0
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x422241
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x422230
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x422271
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422260
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4222a1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x422290
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x4222d1
lea edx, [esp + 0x52]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4222c0
mov word [eax], 0
mov eax, dword [esp + 0xb0]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4222f0
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x422310
mov esi, dword [ebp + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + edx + 2], 0
lea edx, [edx + 2]
jne 0x422330
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x422354
mov eax, 0xffffffff
jmp 0x42235d
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408220
add esp, 4
mov dword [esp + 8], 0xe105e70d
mov dword [esp + 0xc], 0xfd16e314
mov dword [esp + 0x10], 0xf972ff03
mov dword [esp + 0x14], 0xf5cbfb75
mov word [esp + 0x18], 0xf7f4
mov dword [esp + 0x1a], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0xa9
xor cl, byte [esp + edx + 8]
add cl, 0xb3
mov byte [esp + edx + 8], cl
inc edx
cmp edx, 0x16
jne 0x4223a0
movzx ecx, word [esp + 8]
mov esi, eax
test cx, cx
je 0x4223e1
lea edx, [esp + 0xa]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4223d0
mov word [esi], 0
movzx ecx, word [ebx]
test cx, cx
je 0x422411
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x422400
mov word [esi], 0x5f
add esi, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x422441
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], dx
add esi, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x422430
mov dword [esp + 4], eax
mov word [esi], 0x5f
add esi, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x422471
add ecx, 2
nop
nop
nop
nop
nop
mov word [esi], dx
add esi, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x422460
mov word [esi], 0
mov dword [esp + 8], 0xe3e2e1da
mov eax, 0x2f55a76d
mov ecx, 0x5eab4eda
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x2f55a765]
mov esi, ecx
and esi, 0x14820e50
mov ebp, eax
xor ebp, 0xda494f28
lea ebx, [esi + ebp]
add ebp, esi
add ebp, 0xd0aa5893
and ebp, edx
mov edi, ebp
and edi, 0xfffffffd
mov esi, ebp
or esi, 0xfd
inc esi
imul esi, edi
mov edi, ebp
and edi, 2
or ebp, 2
imul ebp, edi
sub esi, ebp
add edx, ebx
add edx, 0xd0aa5893
add edx, esi
add dl, 0x38
mov byte [esp + eax - 0x2f55a765], dl
inc eax
add ecx, 2
cmp eax, 0x2f55a771
jne 0x422490
lea eax, [esp + 8]
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x10]
push esi
mov edi, dword [esp + 0x18]
push edi
push dword [esp + 0xbc]
call fcn.004227f0
add esp, 0x1c
mov ebx, eax
jmp dword [0x446df4]