Function at 0x41f880
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, 0x94
mov edi, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41f8b0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41f8c0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41f8e0
mov eax, 0xffffffff
jmp 0x41f8e9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040cf60
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x54], 0xf7b096a
mov dword [esp + 0x58], 0x3670d7b
mov dword [esp + 0x5c], 0x7410176
mov dword [esp + 0x60], 0x1b680577
mov dword [esp + 0x64], 0x1f7b196c
mov dword [esp + 0x68], 0x13661d94
mov dword [esp + 0x6c], 0x17721149
mov dword [esp + 0x70], 0x2b1e1559
mov dword [esp + 0x74], 0x2f67291e
mov dword [esp + 0x78], 0x236b2d18
mov dword [esp + 0x7c], 0x276d216a
mov dword [esp + 0x80], 0x3b732512
mov dword [esp + 0x84], 0x3f52390d
mov dword [esp + 0x88], 0x33563d45
mov dword [esp + 0x8c], 0x37363156
mov word [esp + 0x90], 0
mov byte [esp + 0x92], 0
mov eax, 0x25a0dc02
mov ecx, 0x1a5f23fd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x25a0dbae]
mov edx, esi
not edx
or edx, 0x32c362a2
add edx, esi
inc edx
and esi, 0x5d
mov ebp, esi
xor ebp, 0x5d
xor esi, 0xcd3c9d5d
or esi, ebp
or edx, esi
lea esi, [ecx - 0x1a5f2380]
and esi, 0x5d
xor esi, 0x9763beff
or esi, eax
mov ebp, ecx
or ebp, 0xcd3c9d5d
and ebp, esi
mov esi, ebp
not esi
and esi, edx
lea esi, [esi*2]
add esi, ebp
sub edx, esi
add dl, 0xf5
mov byte [esp + eax - 0x25a0dbae], dl
inc eax
dec ecx
cmp eax, 0x25a0dc41
jne 0x41f9a0
mov dword [esp + 4], 0x99679b78
mov dword [esp + 8], 0xa557a764
mov dword [esp + 0xc], 0xa14da35a
mov dword [esp + 0x10], 0xad45af49
mov dword [esp + 0x14], 0xa946ab48
mov dword [esp + 0x18], 0xb55cb743
mov dword [esp + 0x1c], 0xb149b35b
mov dword [esp + 0x20], 0xbd42bf44
mov dword [esp + 0x24], 0xb949bb58
mov dword [esp + 0x28], 0x45c04749
mov dword [esp + 0x2c], 0x41a94377
mov dword [esp + 0x30], 0x4db24fb8
mov dword [esp + 0x34], 0x49b84ba7
mov dword [esp + 0x38], 0x55a157b5
mov dword [esp + 0x3c], 0x51a053a5
mov dword [esp + 0x40], 0x5d6b5f65
mov dword [esp + 0x44], 0x595a5b69
mov byte [esp + 0x4a], 0
mov word [esp + 0x48], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0x5b
xor cl, byte [esp + eax + 4]
add cl, 0x39
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0x47
jne 0x41faa0
mov ebp, dword [esp + 0xb0]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x41faf1
add ecx, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41fae0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x41fb21
lea edx, [esp + 6]
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 0x41fb10
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41fb51
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 0x41fb40
mov word [eax], 0
movzx ecx, word [esp + 0x54]
test cx, cx
je 0x41fb81
lea edx, [esp + 0x56]
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 0x41fb70
mov word [eax], 0
mov ecx, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41fb90
mov dword [esp + 0x4c], ecx
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41fbb0
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 0x41fbd0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41fbf4
mov eax, 0xffffffff
jmp 0x41fbfd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040cf60
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 4], 0x71dd7fd5
mov dword [esp + 8], 0x75ce73cc
mov dword [esp + 0xc], 0x49c277d3
mov dword [esp + 0x10], 0x4dbb4bfd
mov dword [esp + 0x14], 0x4f4c
mov byte [esp + 0x18], 0
mov eax, 0xa1843615
mov ecx, 0x5e7bc9ea
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x5e7bc9ef]
mov edi, eax
and edi, esi
add edi, edi
lea ebp, [eax + esi]
mov edx, ebp
sub edx, edi
sub edi, esi
add edi, ecx
or edi, 0xd86af196
add edi, edx
inc edi
mov ebx, edi
and ebx, 0xfd
mov esi, edi
or esi, 0xfd
inc esi
imul esi, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
sub esi, edi
xor edx, 0x68
add edx, esi
and ebp, 1
and edx, 0xfe
or edx, ebp
not edx
lea edx, [edx + ebp*2]
mov byte [esp + eax + 0x5e7bc9ef], dl
inc eax
dec ecx
cmp eax, 0xa184362a
jne 0x41fc50
movzx ecx, word [esp + 4]
mov edi, dword [esp + 0x50]
mov eax, edi
test cx, cx
je 0x41fce1
lea edx, [esp + 6]
mov eax, edi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fcd0
mov word [eax], 0
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
mov esi, dword [esp + 0xb0]
je 0x41fd11
add edx, 2
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fd00
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x41fd41
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41fd30
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41fd71
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41fd60
mov word [eax], 0
mov dword [esp + 4], 0xe3e2e1da
mov eax, 0x50b59528
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x50b59524]
mov ecx, eax
and ecx, edx
add ecx, ecx
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov edx, ecx
xor edx, 0x37
add edx, ecx
and ecx, 0x37
and esi, 0xc8
add edx, ecx
sub edx, esi
inc dl
mov byte [esp + eax - 0x50b59524], dl
inc eax
cmp eax, 0x50b5952c
jne 0x41fd90
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x10]
push esi
push edi
push dword [esp + 0xc0]
call fcn.004200d0
add esp, 0x1c
mov ebx, eax
jmp dword [0x446c98]