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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov eax, dword [0x44a750]
mov dword [esp + 0x3c], 0xcf5dd125
mov dword [esp + 0x40], 0xcb53cd4a
mov dword [esp + 0x44], 0xc752c95c
mov dword [esp + 0x48], 0xc311c525
mov dword [esp + 0x4c], 0xff2cc10d
mov dword [esp + 0x50], 0xfbdafd2c
mov dword [esp + 0x54], 0xf71df920
mov dword [esp + 0x58], 0xf360f56d
mov dword [esp + 0x5c], 0xef7df16c
mov dword [esp + 0x60], 0xeb65ed67
mov dword [esp + 0x64], 0xe714e9c8
mov dword [esp + 0x68], 0xe3c2e508
mov dword [esp + 0x6c], 0x9f4ee131
mov dword [esp + 0x70], 0x9b4a9d4e
mov dword [esp + 0x74], 0x97b6995f
mov dword [esp + 0x78], 0x930b957f
mov dword [esp + 0x7c], 0x8f449102
mov dword [esp + 0x80], 0x8b4d8d40
mov dword [esp + 0x84], 0x870e89a8
mov dword [esp + 0x88], 0x834e854e
mov dword [esp + 0x8c], 0xbf9e8159
mov dword [esp + 0x90], 0xbb2abd7d
mov dword [esp + 0x94], 0xb722b928
mov dword [esp + 0x98], 0xb359b529
mov dword [esp + 0x9c], 0xaf30b12d
mov dword [esp + 0xa0], 0xab33ad5b
mov dword [esp + 0xa4], 0xa775a924
mov dword [esp + 0xa8], 0xa36da569
mov dword [esp + 0xac], 0x5f8ca16b
mov dword [esp + 0xb0], 0x5b905d93
mov dword [esp + 0xb4], 0x578e5978
mov dword [esp + 0xb8], 0x53aa55a3
mov dword [esp + 0xbc], 0x4fbb51bc
mov dword [esp + 0xc0], 0x4b9e4db8
mov dword [esp + 0xc4], 0x47d24968
mov dword [esp + 0xc8], 0x43d545dd
mov dword [esp + 0xcc], 0x7f5e41dd
mov dword [esp + 0xd0], 0x7be77d87
mov dword [esp + 0xd4], 0x77e179e7
mov dword [esp + 0xd8], 0x73ab75e7
mov dword [esp + 0xdc], 0x6f917150
mov dword [esp + 0xe0], 0x6be46df4
mov dword [esp + 0xe4], 0x67f369fb
mov dword [esp + 0xe8], 0x63b165f9
mov dword [esp + 0xec], 0x1fcf61b1
mov dword [esp + 0xf0], 0x1bc81dd5
mov dword [esp + 0xf4], 0x17c419c8
mov dword [esp + 0xf8], 0x13c015c4
mov dword [esp + 0xfc], 0xf2e11c0
mov dword [esp + 0x100], 0xbeb0de3
mov dword [esp + 0x104], 0x7e70992
mov dword [esp + 0x108], 0x39b058a
mov dword [esp + 0x10c], 0x3ff301d3
mov dword [esp + 0x110], 0x3bf13df3
mov dword [esp + 0x114], 0x37f939ea
mov dword [esp + 0x118], 0x333235fe
mov dword [esp + 0x11c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x40d253
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0xf5e8900e
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x22
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x40d220
lea ebp, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ebp
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x445bd4]
xor ebx, ebx
jmp 0x40d670
mov eax, dword [0x44a754]
mov dword [esp], 0xa3bcba63
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 3
ja 0x40d2d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx]
add ecx, 0x9c7d3c0d
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0x4d
mov edx, dword [esp + 0x10]
mov byte [esp + edx], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 4
jb 0x40d2a0
movzx ecx, word [esp]
push 0
push ecx
push 0x44a784
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445bdc]
xor ebx, ebx
jmp 0x40d669
mov dword [esp + 0xc], eax
mov eax, dword [0x44a758]
mov dword [esp + 0x10], 0x8f30b1b2
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x40d350
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x792bbb1d
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0x51
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x40d320
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], 0x93ed91e0
mov dword [esp + 0x40], 0x97e295e7
mov word [esp + 0x44], 0x8988
mov dword [esp + 0x46], 0
mov dword [esp + 4], 0
mov edi, dword [esp + 4]
cmp edi, 0xd
ja 0x40d3c3
nop
nop
nop
nop
nop
mov edi, dword [esp + 4]
mov ebx, dword [esp + 4]
movzx ebx, byte [esp + ebx + 0x3c]
add edi, 0xc722fe88
xor edi, ebx
mov dword [esp], edi
mov ebx, dword [esp]
add bl, 0xe8
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x3c], bl
inc dword [esp + 4]
mov edi, dword [esp + 4]
cmp edi, 0xe
jb 0x40d390
push edx
push 0
push 0
push 0
push ecx
push ebp
mov edi, dword [esp + 0x24]
push edi
call eax
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x445be4]
mov edi, dword [esp + 0x268]
xor eax, eax
test edi, edi
setg al
jmp dword [eax*4 + 0x445bec]
jmp dword [0x445bf8]
push edi
push edi
push edi
push edi
push ebx
call dword [0x44a760]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
push edi
push edi
push edi
push ebx
call dword [0x44a760]
jmp dword [0x445bfc]
mov edx, dword [esp + 0x254]
movzx eax, byte [0x44a888]
mov edi, dword [esp + 0xc]
jmp dword [eax*4 + 0x445c04]
mov dword [esp + 0x10], 0xfc6cfe3e
mov dword [esp + 0x14], 0xf06cf26e
mov dword [esp + 0x18], 0xf452f668
mov dword [esp + 0x1c], 0xe80bea3b
mov dword [esp + 0x20], 0xec4cee4a
mov dword [esp + 0x24], 0xe079e24a
mov dword [esp + 0x28], 0xe47ae642
mov dword [esp + 0x2c], 0xd878da6e
mov dword [esp + 0x30], 0xdc56de7f
mov dword [esp + 0x34], 0xd01ed24d
mov dword [esp + 0x38], 0xd6d1
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x40d4ee
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xd593c383
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x86
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x40d4c0
movzx eax, word [esp + 0x10]
test ax, ax
je 0x40d512
lea ebp, [esp + 0x3c]
lea ecx, [esp + 0x12]
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40d500
mov word [ebp], 0
movzx eax, word [0x44a88a]
test ax, ax
je 0x40d546
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x44a88c]
add ecx, 2
test ax, ax
jne 0x40d530
add ebp, ecx
mov word [ebp], 0
mov eax, dword [0x44a764]
mov dword [esp + 4], 0x9b787986
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x40d5a0
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
add ecx, 0xc87ae57f
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 7
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x40d570
lea ecx, [esp + 0x3c]
push dword [esp + 4]
push 0xffffffffffffffff
push ecx
push ebx
call eax
mov edx, dword [esp + 0x254]
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov ebp, dword [esp + 0x268]
push ebp
push dword [esp + 0x264]
push dword [esp + 0x264]
push eax
push edx
push ebx
call dword [0x44a768]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445c0c]
mov dword [esp + 8], 0
jmp dword [0x445c24]
mov eax, dword [esp + 0x260]
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x3c]
push ecx
push ebp
push eax
push ebx
call dword [0x44a778]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
jmp dword [ecx*4 + 0x445c14]
push 0
push ebx
call dword [0x44a76c]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
jmp dword [ecx*4 + 0x445c1c]
jmp dword [0x445c24]
mov al, 1
mov dword [esp + 8], eax
jmp dword [0x445c24]
push edi
call dword [0x44a77c]
mov ebx, dword [esp + 8]
push esi
call dword [0x44a77c]
mov eax, ebx
add esp, 0x23c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebx
call dword [0x44a77c]
push ebx
call dword [0x44a77c]
jmp dword [0x445c30]