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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebp, ecx
mov eax, dword [esp + 0x78]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0x100000
mov dword [esp + 0xc], 0
mov dword [esp + 0x38], 0x60616263
mov eax, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x79314a7c]
xor ecx, eax
mov edx, ecx
and edx, 0x6c01575
xor ecx, 0x17d05d75
lea esi, [ecx + edx*2]
mov edi, 0x60
sub edi, esi
lea ecx, [ecx + edx*2]
add ecx, 0x1f
and edi, 0x75
and ecx, 0x8a
or ecx, 1
sub ecx, edi
mov byte [esp + eax + 0x79314a7c], cl
inc eax
cmp eax, 0x86ceb5c0
jne 0x43a440
mov eax, dword [esp + 0x38]
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x43a4de
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa8f779e4
je 0x43a4b0
inc edx
cmp ecx, edx
jne 0x43a4a0
jmp 0x43a4de
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x43a4de
lea eax, [esp + 0x1c]
lea edx, [esp + 0xc]
push 4
push 0x3000
push eax
push 0
push edx
push 0xffffffffffffffff
push 0x18
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x24
test eax, eax
js 0x43ac2a
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp], 0x23232120
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x20
xor byte [esp + eax], cl
inc eax
cmp eax, 4
jne 0x43a530
mov eax, dword [esp]
cmp eax, 0x7ffffffe
ja 0x43ab7a
mov dword [esp + 0x14], 0
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], ebp
jmp 0x43a58f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov edx, dword [esp + 0x14]
mov dword [eax + 8], edx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x38]
cmp eax, 0x7fffffff
jae 0x43ab7a
mov dword [esp + 0x28], eax
mov ecx, dword [ebp]
mov dword [esp], 0x60616263
mov eax, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x79314a44]
xor edx, eax
mov esi, edx
and esi, 0x6c01575
xor edx, 0x17d05d75
lea edi, [edx + esi*2]
lea edx, [edx + esi*2]
add edx, 0x1f
mov esi, 0x60
sub esi, edi
and esi, 0x75
and edx, 0x8a
or edx, 1
sub edx, esi
mov byte [esp + eax + 0x79314a44], dl
inc eax
cmp eax, 0x86ceb5c0
jne 0x43a5b0
mov eax, dword [esp]
mov edx, dword [0x44965c]
test edx, edx
je 0x43a650
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xe095b21b
je 0x43a620
inc esi
cmp edx, esi
jne 0x43a610
jmp 0x43a650
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
mov esi, dword [esp + 0x28]
je 0x43a650
push 0
push 0x1c
lea eax, [esp + 0x40]
push eax
push 0
push esi
push ecx
push 0x18
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x24
nop
nop
nop
nop
nop
nop
cmp eax, 0xbfffffff
ja 0x43ab7a
test eax, eax
js 0x43a57c
cmp dword [esp + 0x48], 0x1000
jne 0x43a57c
test byte [esp + 0x4c], 0x66
je 0x43a57c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jbe 0x43a80a
mov dword [esp], 0x60616263
mov ecx, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x79314a44]
xor edx, ecx
mov esi, edx
and esi, 0x6c01575
xor edx, 0x17d05d75
lea edi, [edx + esi*2]
lea edx, [edx + esi*2]
add edx, 0x1f
mov esi, 0x60
sub esi, edi
and esi, 0x75
and edx, 0x8a
or edx, 1
sub edx, esi
mov byte [esp + ecx + 0x79314a44], dl
inc ecx
cmp ecx, 0x86ceb5c0
jne 0x43a6a0
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x43a73e
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x6a2d3ea3
je 0x43a710
inc esi
cmp ecx, esi
jne 0x43a700
jmp 0x43a73e
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x43a73e
push 0x8000
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x14]
push eax
push 0xffffffffffffffff
push 0x10
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x1c
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], eax
mov dword [esp], 0x60616263
mov eax, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x79314a44]
xor ecx, eax
mov edx, ecx
and edx, 0x6c01575
xor ecx, 0x17d05d75
lea esi, [ecx + edx*2]
lea ecx, [ecx + edx*2]
add ecx, 0x1f
mov edx, 0x60
sub edx, esi
and edx, 0x75
and ecx, 0x8a
or ecx, 1
sub ecx, edx
mov byte [esp + eax + 0x79314a44], cl
inc eax
cmp eax, 0x86ceb5c0
jne 0x43a760
mov eax, dword [esp]
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x43a7fe
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa8f779e4
je 0x43a7d0
inc edx
cmp ecx, edx
jne 0x43a7c0
jmp 0x43a7fe
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x43a7fe
push 4
push 0x3000
lea eax, [esp + 0x24]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0xffffffffffffffff
push 0x18
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x24
test eax, eax
js 0x43ab7a
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0xc]
mov edx, dword [ebp]
mov dword [esp], 0x60616263
mov eax, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x79314a44]
xor edi, eax
mov ebx, edi
and ebx, 0x6c01575
xor edi, 0x17d05d75
lea ebp, [edi + ebx*2]
lea ebx, [edi + ebx*2]
add ebx, 0x1f
mov edi, 0x60
sub edi, ebp
and edi, 0x75
and ebx, 0x8a
or ebx, 1
sub ebx, edi
mov byte [esp + eax + 0x79314a44], bl
inc eax
cmp eax, 0x86ceb5c0
jne 0x43a830
mov eax, dword [esp]
mov edi, dword [0x44965c]
test edi, edi
je 0x43a8d0
xor ebx, ebx
mov ebp, dword [0x449660]
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0xa99f3325
je 0x43a8a1
inc ebx
cmp edi, ebx
jne 0x43a890
jmp 0x43a8d0
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, eax
je 0x43a8d0
lea eax, [esp + 0x60]
push eax
push ecx
push esi
push dword [esp + 0x34]
push edx
push 0x14
push edi
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
test eax, eax
mov ebx, dword [esp + 0x18]
js 0x43a8de
mov ebp, dword [esp + 0x20]
jmp 0x43a92a
mov dword [esp], 0xfe7d7c46
mov ecx, 0x63
mov edx, 0x9c
mov ebp, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x63]
mov esi, ecx
or esi, ebx
not ebx
or ebx, edx
and ebx, esi
add bl, 0xe8
mov byte [esp + ecx - 0x63], bl
inc ecx
dec edx
cmp ecx, 0x67
jne 0x43a900
cmp eax, dword [esp]
mov ebx, dword [esp + 0x18]
jne 0x43ab68
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x6c]
push dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
call fcn.0043ac40
add esp, 0x18
mov eax, dword [esp]
mov edi, dword [esp + 4]
cmp eax, edi
je 0x43a564
mov dword [esp + 0x54], eax
mov ebp, eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edi
jmp 0x43a9b6
push dword [esp + 0x18]
call fcn.00408000
add esp, 4
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ebx, edx
lea edx, [edx + eax*4]
mov ecx, ebx
mov eax, dword [esp + 0x14]
add ecx, eax
mov edi, dword [esp + 0x5c]
mov dword [ebx + eax], esi
add ecx, 4
add ebp, 4
cmp ebp, edi
je 0x43ab2b
mov esi, dword [ebp]
add esi, dword [esp + 0x28]
sub esi, dword [esp + 0xc]
mov eax, ecx
sub eax, ebx
cmp ecx, edx
jne 0x43a9a5
mov edi, ecx
mov dword [esp + 0x14], eax
mov ecx, eax
sar ecx, 2
lea eax, [ecx + 1]
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
ja 0x43a9e3
mov edx, eax
mov dword [esp + 0x10], edx
lea eax, [edx*4]
push eax
call fcn.00407ff0
add esp, 4
mov edx, eax
test ebx, ebx
je 0x43a990
mov eax, ebx
mov ebx, edi
mov ecx, edi
not ecx
and ecx, eax
mov edi, eax
not edi
and edi, ebx
mov dword [esp + 0x24], edi
mov ebx, edi
sub ebx, ecx
cmp edx, eax
mov edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edx
jbe 0x43aae2
lea eax, [edi + ebx]
cmp eax, edx
jbe 0x43aae2
test ebx, ebx
je 0x43a980
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x18]
add eax, ebx
dec eax
mov ecx, dword [esp + 0x30]
add ecx, ebx
dec ecx
mov dword [esp + 0x2c], ebx
mov edx, ebx
and edx, 7
je 0x43aa74
neg edx
xor edi, edi
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
dec edi
cmp edx, edi
jne 0x43aa60
add eax, edi
add ecx, edi
add dword [esp + 0x2c], edi
mov edx, dword [esp + 0x58]
sub edx, dword [esp + 0x24]
cmp edx, 0xfffffff8
mov ebx, dword [esp + 0x2c]
ja 0x43a980
neg ebx
xor edi, edi
nop
nop
nop
movzx edx, byte [eax + edi]
mov byte [ecx + edi], dl
movzx edx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], dl
movzx edx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], dl
movzx edx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], dl
movzx edx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], dl
movzx edx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], dl
movzx edx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], dl
movzx edx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], dl
add edi, 0xfffffff8
cmp ebx, edi
jne 0x43aa90
jmp 0x43a980
mov ecx, ebx
shr ecx, 2
mov eax, edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
lea edi, [edx + eax]
add eax, dword [esp + 0x18]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, eax
mov dword [esp + 0x24], edi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test bl, 1
je 0x43a980
and ebx, 2
movzx eax, byte [eax + ebx]
mov ecx, dword [esp + 0x24]
mov byte [ecx + ebx], al
jmp 0x43a980
mov eax, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x54]
test eax, eax
mov ebp, dword [esp + 0x20]
je 0x43ab71
mov dword [esp + 0x10], ecx
cmp eax, edi
je 0x43a578
push eax
mov esi, edx
call fcn.00408000
mov edx, esi
add esp, 4
mov dword [esp], 0
jmp 0x43a578
mov edx, dword [esp + 0x14]
jmp 0x43a578
mov dword [esp + 0x10], ecx
jmp 0x43a578
mov dword [esp], 0x60616263
mov eax, 0x86ceb5bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x79314a44]
xor ecx, eax
mov edx, ecx
and edx, 0x6c01575
xor ecx, 0x17d05d75
lea esi, [ecx + edx*2]
mov edi, 0x60
sub edi, esi
lea ecx, [ecx + edx*2]
add ecx, 0x1f
and edi, 0x75
and ecx, 0x8a
or ecx, 1
sub ecx, edi
mov byte [esp + eax + 0x79314a44], cl
inc eax
cmp eax, 0x86ceb5c0
jne 0x43ab90
mov eax, dword [0x44965c]
test eax, eax
je 0x43ac2a
mov ecx, dword [esp]
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x6a2d3ea3
je 0x43ac00
inc edx
cmp eax, edx
jne 0x43abf0
jmp 0x43ac2a
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x43ac2a
lea ecx, [esp + 0x34]
lea edx, [esp + 0xc]
push 0x8000
push ecx
push edx
push 0xffffffffffffffff
push 0x10
push eax
push dword [0x449664]
call fcn.0043b480
add esp, 0x1c
mov eax, dword [esp + 0x78]
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret 0x10