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

Disassembly:
sub esp, 0x100
mov ecx, dword [esp + 0x104]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x114]
push edi
xor edi, edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov edx, esi
mov eax, dword [ecx]
mov ebp, dword [esp + eax*4 + 0x54]
lea eax, [esp + eax*4 + 0x54]
inc ebp
add ecx, 4
dec edx
mov dword [eax], ebp
jne 0x44005b
cmp dword [esp + 0x54], esi
jne 0x440093
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
mov dword [ecx], edi
mov dword [edx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x100
ret
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx]
mov dword [esp + 0x10], ebp
mov ecx, 1
lea eax, [esp + 0x58]
cmp dword [eax], edi
jne 0x4400b6
inc ecx
add eax, 4
cmp ecx, 0xf
jbe 0x4400a9
cmp ebp, ecx
mov eax, ecx
mov dword [esp + 0x14], eax
jae 0x4400c6
mov dword [esp + 0x10], ecx
mov ebp, ecx
mov edx, 0xf
lea esi, [esp + 0x90]
cmp dword [esi], edi
jne 0x4400de
dec edx
sub esi, 4
cmp edx, edi
jne 0x4400d2
cmp ebp, edx
mov dword [esp + 0x2c], edx
jbe 0x4400ec
mov dword [esp + 0x10], edx
mov ebp, edx
mov esi, 1
shl esi, cl
cmp ecx, edx
mov dword [ebx], ebp
jae 0x44010b
lea ebx, [esp + ecx*4 + 0x54]
sub esi, dword [ebx]
js 0x440126
inc ecx
add ebx, 4
shl esi, 1
cmp ecx, edx
jb 0x4400fd
lea ecx, [edx*4]
mov ebx, dword [esp + ecx + 0x54]
mov dword [esp + 0x20], ecx
lea ecx, [esp + ecx + 0x54]
sub esi, ebx
mov dword [esp + 0x44], esi
jns 0x440136
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x100
ret
add ebx, esi
mov dword [ecx], ebx
xor ecx, ecx
dec edx
mov dword [esp + 0x98], edi
je 0x440159
xor ebx, ebx
add ecx, dword [esp + ebx + 0x58]
add ebx, 4
dec edx
mov dword [esp + ebx + 0x98], ecx
jne 0x440148
mov edx, dword [esp + 0x114]
xor ebx, ebx
mov ecx, dword [edx]
add edx, 4
cmp ecx, edi
mov dword [esp + 0x1c], edx
je 0x440192
mov edx, dword [esp + ecx*4 + 0x94]
mov esi, dword [esp + 0x138]
lea ecx, [esp + ecx*4 + 0x94]
mov dword [esi + edx*4], ebx
mov esi, dword [esp + 0x44]
inc edx
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x118]
inc ebx
cmp ebx, ecx
jb 0x440162
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + ecx + 0x94]
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x2c]
mov ebx, ebp
neg ebx
cmp eax, ecx
mov dword [esp + 0x118], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xd4], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
jg 0x440482
mov esi, dword [esp + 0x34]
lea edx, [eax - 1]
lea ecx, [esp + eax*4 + 0x54]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
mov ecx, edx
dec edx
test ecx, ecx
mov dword [esp + 0x24], edx
je 0x440457
jmp 0x44021b
mov edx, dword [esp + 0x24]
lea ecx, [ebx + ebp]
cmp eax, ecx
jle 0x440333
inc edx
mov dword [esp + 0x50], edx
jmp 0x440235
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
add ebx, ebp
add ecx, ebp
sub edx, ebx
cmp edx, ebp
mov dword [esp + 0x48], ecx
jbe 0x44024d
mov edx, ebp
mov edi, dword [esp + 0x50]
mov ecx, eax
sub ecx, ebx
mov eax, 1
shl eax, cl
cmp eax, edi
jbe 0x44028b
mov ebp, dword [esp + 0x24]
or edi, 0xffffffff
sub edi, ebp
mov ebp, dword [esp + 0x28]
add eax, edi
cmp ecx, edx
jae 0x44028b
inc ecx
cmp ecx, edx
jae 0x44028b
mov edi, dword [ebp + 4]
add ebp, 4
shl eax, 1
cmp eax, edi
jbe 0x44028b
sub eax, edi
inc ecx
cmp ecx, edx
jb 0x440278
mov ebp, dword [esp + 0x134]
mov eax, dword [ebp]
mov edx, 1
shl edx, cl
mov dword [esp + 0x3c], edx
add edx, eax
cmp edx, 0x5a0
ja 0x4404a5
mov edi, dword [esp + 0x130]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x18]
mov dword [ebp], edx
mov edx, dword [esp + 0x18]
test edx, edx
lea edi, [esp + edi*4 + 0xd4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], edi
mov dword [edi], eax
je 0x440316
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov byte [esp + 0x30], cl
mov byte [esp + 0x31], al
mov ecx, ebx
sub ecx, eax
mov dword [esp + edx*4 + 0x94], edi
mov edx, dword [esp + 0x4c]
mov eax, edi
shr eax, cl
mov ecx, dword [edx - 4]
mov edx, dword [esp + 0x30]
sub esi, ecx
sar esi, 3
sub esi, eax
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
jmp 0x440323
mov ecx, dword [esp + 0x128]
mov edi, dword [esp + 0x38]
mov dword [ecx], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jg 0x44022d
mov ecx, dword [esp + 0x138]
mov ebp, dword [esp + 0x1c]
mov dl, al
sub dl, bl
mov byte [esp + 0x31], dl
mov edx, dword [esp + 0x118]
lea ecx, [ecx + edx*4]
cmp ebp, ecx
jb 0x44035b
mov byte [esp + 0x30], 0xc0
jmp 0x4403a4
mov esi, dword [ebp]
mov ecx, dword [esp + 0x11c]
cmp esi, ecx
jae 0x44037d
cmp esi, 0x100
sbb dl, dl
and dl, 0xa0
add dl, 0x60
mov byte [esp + 0x30], dl
jmp 0x44039d
sub esi, ecx
mov ecx, dword [esp + 0x124]
shl esi, 2
mov dl, byte [esi + ecx]
mov ecx, dword [esp + 0x120]
mov esi, dword [esi + ecx]
add dl, 0x50
mov byte [esp + 0x30], dl
add ebp, 4
mov dword [esp + 0x1c], ebp
mov ecx, eax
sub ecx, ebx
mov edx, 1
shl edx, cl
mov ecx, ebx
mov eax, edi
shr eax, cl
cmp eax, dword [esp + 0x3c]
jae 0x4403de
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + eax*8]
mov ebp, dword [esp + 0x30]
mov dword [ecx], ebp
lea ebp, [edx*8]
mov dword [ecx + 4], esi
add ecx, ebp
mov ebp, dword [esp + 0x3c]
add eax, edx
cmp eax, ebp
jb 0x4403c2
mov ecx, dword [esp + 0x20]
mov eax, 1
shl eax, cl
test edi, eax
je 0x4403f5
xor edi, eax
shr eax, 1
test edi, eax
jne 0x4403ed
mov edx, dword [esp + 0x18]
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ecx, dword [esp + edx*4 + 0x94]
xor edi, eax
lea eax, [esp + edx*4 + 0x94]
dec ebp
and ebp, edi
cmp ebp, ecx
mov dword [esp + 0x38], edi
je 0x44043c
sub ebx, dword [esp + 0x10]
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov ecx, dword [eax - 4]
sub eax, 4
dec edx
dec ebp
and ebp, edi
cmp ebp, ecx
jne 0x44041d
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
jne 0x440217
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add ecx, 4
inc eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x2c]
inc edx
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
jle 0x440200
mov esi, dword [esp + 0x44]
xor edi, edi
cmp esi, edi
je 0x440086
cmp dword [esp + 0x2c], 1
je 0x440086
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x100
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x100
ret