Function at 0x41d42f
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], edi
xor esi, esi
mov dword [esp + 0x28], 0x547b642d
mov byte [esp + 0x2c], 0x22
mov al, byte [esp + esi + 0x28]
xor al, 8
movzx eax, al
mov word [esp + esi*2 + 0x6c], ax
inc esi
cmp esi, 5
jl 0x41d452
xor eax, eax
mov dword [esp + 0x30], 0x7659460f
mov word [esp + 0x76], ax
xor ecx, ecx
mov word [esp + 0x34], 0x460f
mov byte [esp + 0x36], 0x59
mov al, byte [esp + ecx + 0x30]
xor al, 0x2a
movzx eax, al
mov word [esp + ecx*2 + 0x78], ax
inc ecx
cmp ecx, 7
jl 0x41d483
movzx ecx, byte [0x42bace]
xor eax, eax
mov ebp, dword [esp + 0x2e4]
or ecx, 0xbf9ec1b8
mov word [esp + 0x86], ax
mov eax, dword [0x42babc]
and eax, 0x28cc45b9
mov dword [0x42babc], ecx
mov dword [0x42bae0], eax
test ebp, ebp
jne 0x41d4e9
imul eax, ecx, 0x4b6d9a7d
mov dword [0x42bae0], eax
lea eax, [ecx + 0x53985ca9]
mov dword [0x42baf0], eax
jmp 0x41dca6
imul eax, ecx, 0x9b4ccc3c
push edi
mov dword [0x42babc], eax
lea eax, [esp + 0x70]
push eax
call fcn.00422def
pop ecx
pop ecx
mov cl, byte [0x42baf0]
mov edx, eax
xor cl, 0x99
mov dword [esp + 0x28], edx
mov byte [0x42bace], cl
mov ebx, 0xff
test edx, edx
je 0x41d8ca
mov al, byte [0x42bae0]
xor ecx, ecx
sub al, 9
inc ecx
mov byte [0x42bace], al
movzx eax, al
add eax, 0xf0b2713d
mov dword [0x42bae0], eax
add eax, 0xd18960c7
mov dword [0x42baf0], eax
and eax, 0x8fbb984
mov dword [0x42bac8], eax
xor eax, 0x831e266e
mov dword [0x42bab0], eax
lea eax, [esp + 0x88]
push eax
push edx
mov edx, 0x54e1cc7b
call fcn.00415084
call eax
mov ecx, dword [0x42bab0]
mov esi, eax
and ecx, 0x836ccdbe
mov dword [esp + 0x40], esi
mov dword [0x42bae0], ecx
mov edx, 0x17299c7b
xor ecx, ecx
mov byte [0x42bace], bl
inc ecx
call fcn.00415084
movzx ecx, byte [0x42bace]
mov dword [esp + 0x44], eax
lea ebx, [ecx - 0x6733ab50]
mov dword [0x42bab0], ebx
cmp esi, 0xffffffff
je 0x41d8a7
or ecx, 0x159b46af
mov word [esp + 0x14], 0x5d5d
lea edx, [ebx + 0x13]
mov dword [0x42babc], ecx
mov byte [0x42bace], dl
push 0x2e
pop eax
mov word [esp + 0x38], ax
xor eax, eax
mov word [esp + 0x3a], ax
xor ecx, ecx
mov al, byte [esp + ecx + 0x14]
xor al, 0x73
movzx eax, al
mov word [esp + ecx*2 + 0x30], ax
inc ecx
cmp ecx, 2
jl 0x41d5ea
mov ecx, dword [0x42bac8]
xor eax, eax
mov word [esp + 0x34], ax
add ecx, 0x287637f8
imul eax, ebx, 0x2d195874
mov dword [0x42bab0], ecx
or ecx, 0xf0b2b2da
mov dword [0x42bac8], ecx
mov dword [0x42baf0], eax
movzx eax, dl
add eax, 0x3d407d2e
mov dword [0x42bae0], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41d86d
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41d86d
mov edx, dword [0x42baf0]
add edx, 0x12f15b1b
test byte [esp + 0x88], 0x10
mov dword [0x42bac8], edx
je 0x41d84b
push 0x2a
pop eax
mov word [esp + 0x18], 0x3af3
xor ecx, ecx
mov byte [esp + 0x1a], 0x41
mov ebx, 0xff
mov byte [esp + 0x1b], al
mov word [esp + 0x1c], 0x3af3
mov byte [esp + 0x1e], 0x41
movzx eax, byte [esp + ecx + 0x18]
add ax, 0x32
and ax, bx
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 7
jl 0x41d6b9
xor eax, eax
and edx, 0x71039beb
mov word [esp + 0x5a], ax
mov al, byte [0x42babc]
sub al, 0x50
mov dword [0x42bab0], edx
mov byte [0x42bace], al
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x50]
push edi
push eax
call fcn.00422def
mov ebx, dword [0x42bab0]
mov edi, eax
add ebx, 0xc2e64fbc
add esp, 0xc
mov edx, ebx
mov dword [0x42babc], ebx
xor edx, 0x54c90440
mov dword [0x42bab0], edx
lea ecx, [edx - 0x40619cdf]
mov dword [0x42bae0], ecx
test edi, edi
je 0x41d847
mov dword [esp + 0x20], 0x79bdb66f
xor ecx, ecx
mov word [esp + 0x24], 0xb66f
mov esi, 0xff
mov byte [esp + 0x26], 0xbd
movzx eax, byte [esp + ecx + 0x20]
sub ax, 0x4a
and ax, si
mov word [esp + ecx*2 + 0x5c], ax
inc ecx
cmp ecx, 7
jl 0x41d756
xor eax, eax
xor bl, 0x15
mov word [esp + 0x6a], ax
or edx, 0xac94351a
movzx eax, bl
xor eax, 0x7e7734d9
mov byte [0x42bace], bl
mov dword [0x42baf0], eax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x64]
mov dword [0x42bac8], edx
push eax
call fcn.00422def
mov edx, dword [0x42bac8]
mov esi, eax
mov ecx, edx
add esp, 0xc
or ecx, 0xfaa658c7
mov dword [0x42bab0], ecx
test esi, esi
je 0x41d834
mov al, byte [0x42babc]
mov edx, esi
mov ecx, dword [0x42baf0]
add al, 0xb
mov byte [0x42bace], al
and ecx, 0xde04724f
movzx eax, al
and eax, 0xa9fda58b
mov dword [0x42bac8], ecx
mov dword [0x42baf0], eax
mov ecx, edi
lea eax, [ebp - 1]
push eax
push dword [esp + 0x2e4]
call fcn.0041d42f
movzx eax, byte [0x42bace]
xor eax, 0x7c26de14
mov dword [0x42bac8], eax
mov al, byte [0x42babc]
and al, 0x49
push esi
mov byte [0x42bace], al
call fcn.004056f0
mov edx, dword [0x42bac8]
add esp, 0xc
add dl, dl
push edi
mov byte [0x42bace], dl
call fcn.004056f0
mov esi, dword [esp + 0x44]
pop ecx
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x88]
push eax
push esi
call dword [esp + 0x4c]
test eax, eax
je 0x41d888
mov ebx, dword [0x42bab0]
mov dl, byte [0x42bace]
jmp 0x41d5d9
mov eax, dword [0x42baf0]
and eax, 0xa8545e16
and dword [0x42bab0], 0xe0e72c44
mov dword [0x42bae0], eax
jmp 0x41d84b
mov eax, dword [0x42bab0]
xor ecx, ecx
add eax, 0x7bf2262e
mov edx, 0x83fbc401
push esi
inc ecx
mov dword [0x42bae0], eax
call fcn.00415084
call eax
mov eax, dword [0x42bae0]
push dword [esp + 0x28]
and eax, 0xf5cbd2d2
mov dword [0x42babc], eax
and eax, 0x29396d63
mov dword [0x42bae0], eax
call fcn.004056f0
pop ecx
push dword [esp + 0x2e0]
and dword [0x42bab0], 0xf676cde8
lea eax, [esp + 0x7c]
push edi
push eax
call fcn.00422def
mov cl, byte [0x42baf0]
mov ebp, eax
add cl, 0x4b
mov dword [esp + 0x4c], ebp
mov byte [0x42bace], cl
add esp, 0xc
mov ecx, dword [0x42bae0]
add ecx, 0x71793838
mov dword [0x42bac8], ecx
test ebp, ebp
je 0x41dca6
mov ecx, dword [0x42bab0]
mov esi, dword [0x42babc]
add esi, 0x9ef54fef
mov dword [0x42bac8], esi
xor esi, 0x71ba0dcb
lea eax, [ecx + 0x432e755e]
mov dword [0x42babc], esi
lea edx, [ecx - 0x704336bc]
mov dword [0x42baf0], eax
add eax, 0x89c0a025
mov dword [0x42bae0], edx
mov dword [0x42bab0], eax
add dl, 0x3a
lea eax, [esp + 0x88]
mov byte [0x42bace], dl
push eax
xor ecx, ecx
mov edx, 0x54e1cc7b
push ebp
inc ecx
call fcn.00415084
call eax
imul ecx, dword [0x42babc], 0xa7888377
mov ebx, eax
mov edx, 0x17299c7b
mov dword [esp + 0x44], ebx
mov dword [0x42baf0], ecx
xor ecx, ecx
inc ecx
call fcn.00415084
mov cl, byte [0x42bac8]
sub cl, 3
mov dword [esp + 0x28], eax
mov byte [0x42bace], cl
cmp ebx, 0xffffffff
je 0x41dc82
imul ecx, dword [0x42babc], 0x1fd9bdb4
mov ebp, eax
mov word [esp + 0x14], 0x5858
mov dword [0x42babc], ecx
push 0x2e
pop eax
mov word [esp + 0x38], ax
mov esi, 0xff
xor eax, eax
xor ecx, ecx
push 0x2a
mov word [esp + 0x3e], ax
pop edx
movzx eax, byte [esp + ecx + 0x14]
sub ax, dx
and ax, si
mov word [esp + ecx*2 + 0x30], ax
inc ecx
cmp ecx, 2
jl 0x41d9ef
mov edx, dword [0x42bab0]
xor eax, eax
mov word [esp + 0x34], ax
lea ecx, [edx - 0x75]
or edx, 0xdae0af47
movzx eax, cl
sub eax, 0x189a339d
mov byte [0x42bace], cl
mov dword [0x42baf0], eax
movzx eax, cl
add eax, 0x71f10b35
mov dword [0x42bae0], edx
mov dword [0x42bac8], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41dcb1
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41dcb1
mov eax, dword [0x42bab0]
add eax, 0x8296920e
test byte [esp + 0x88], 0xa7
mov dword [0x42bac8], eax
je 0x41dc4c
mov dword [esp + 0x20], 0xd3eae39c
xor ecx, ecx
mov word [esp + 0x24], 0xe39c
mov byte [esp + 0x26], 0xea
movzx eax, byte [esp + ecx + 0x20]
sub ax, 0x77
and ax, si
mov word [esp + ecx*2 + 0x5c], ax
inc ecx
cmp ecx, 7
jl 0x41daac
xor eax, eax
mov word [esp + 0x6a], ax
imul eax, dword [0x42baf0], 0x235e0e85
mov dword [0x42baf0], eax
add eax, 0xb8617697
mov dword [0x42bab0], eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x60]
push edi
push eax
call fcn.00422def
mov esi, dword [0x42baf0]
mov edi, eax
mov edx, dword [0x42babc]
add esi, 0x6dc6ff13
and edx, 0x5ccc905d
mov dword [0x42baf0], esi
add esp, 0xc
mov dword [0x42bac8], edx
test edi, edi
je 0x41dc48
mov dword [esp + 0x18], 0x1b5f5811
xor ecx, ecx
mov word [esp + 0x1c], 0x5811
mov ebx, 0xff
mov byte [esp + 0x1e], 0x5f
movzx eax, byte [esp + ecx + 0x18]
add ax, 0x14
and ax, bx
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 7
jl 0x41db42
imul ecx, dword [0x42bae0], 0x3c0ac0b
xor eax, eax
mov word [esp + 0x5a], ax
and edx, 0x437c106d
lea eax, [esi - 0x224c1aef]
mov dword [0x42bab0], edx
mov dword [0x42babc], eax
mov eax, ecx
mov dword [0x42bae0], ecx
xor eax, 0xca75e481
xor ecx, 0xe705a418
mov dword [0x42baf0], eax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x54]
mov dword [0x42bac8], ecx
push eax
call fcn.00422def
mov ebx, dword [0x42bac8]
mov esi, eax
and ebx, 0xac5d6d6e
add esp, 0xc
mov dword [0x42bae0], ebx
test esi, esi
je 0x41dc1f
mov edx, dword [0x42bab0]
lea eax, [ebx + 0x1c]
mov byte [0x42bace], al
lea eax, [ebx + 0x2876ae11]
mov dword [0x42bac8], eax
lea ecx, [edx - 0x7f025ac]
lea eax, [edx + 0xd594743]
mov dword [0x42baf0], ecx
mov edx, esi
mov dword [0x42bae0], eax
mov ecx, edi
call fcn.0041dcc2
movzx eax, byte [0x42babc]
imul eax, eax, 0xb
push esi
mov byte [0x42bace], al
call fcn.004056f0
pop ecx
mov eax, dword [0x42baf0]
add eax, 0x95b05470
mov dword [0x42bac8], eax
mov eax, dword [0x42bab0]
and eax, 0x60073b2d
push edi
mov dword [0x42babc], eax
call fcn.004056f0
mov ebx, dword [esp + 0x48]
pop ecx
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x88]
push eax
push ebx
call ebp
test eax, eax
jne 0x41d9d6
mov eax, dword [0x42bab0]
xor ecx, ecx
or eax, 0xce5cce5f
mov edx, 0x83fbc401
push ebx
inc ecx
mov dword [0x42bae0], eax
call fcn.00415084
call eax
mov ebp, dword [esp + 0x40]
mov ecx, dword [0x42bab0]
push ebp
lea eax, [ecx + 0xc699bf]
and ecx, 0x7ae33399
mov dword [0x42bac8], eax
mov dword [0x42bab0], ecx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret
imul eax, dword [0x42babc], 0x56dcf1bb
mov dword [0x42bae0], eax
jmp 0x41dc4c