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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov dword [esp + 0x34], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], 0x100000
mov dword [esp + 8], 0
mov dword [esp + 0x48], 0x40414e4f
mov dword [esp + 0x4c], 0
mov dword [esp + 0x4f], 0
xor eax, eax
xor ecx, ecx
nop
nop
movzx edx, byte [esp + ecx + 0x48]
mov esi, eax
and esi, 0x7225336c
mov edi, ecx
xor edi, 0xf91299b6
add edi, esi
mov esi, edi
and esi, edx
add edi, edx
add esi, esi
sub edi, esi
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x10]
add dl, 6
mov byte [esp + ecx + 0x48], dl
inc ecx
add eax, 2
cmp ecx, 0xb
jne 0x43b270
mov eax, dword [esp + 0x48]
mov ecx, dword [0x44c2c8]
test ecx, ecx
je 0x43b2fe
xor edx, edx
mov esi, dword [0x44c2cc]
nop
cmp dword [esi + edx*8], 0x72d34d92
je 0x43b2d0
inc edx
cmp ecx, edx
jne 0x43b2c0
jmp 0x43b2fe
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x43b2fe
lea eax, [esp + 0x24]
lea edx, [esp + 8]
push 4
push 0x3000
push eax
push 0
push edx
push 0xffffffffffffffff
push 6
push dword [0x44c2d0]
push ecx
call fcn.0043c490
add esp, 0x24
test eax, eax
js 0x43b9ba
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x2c], 0x10000
jmp 0x43b370
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
mov edx, ecx
xor edx, eax
and ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x2c], eax
cmp eax, 0x7fffffff
jae 0x43b905
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [esp + 0x10], 0x40414e4f
lea eax, [esp + 0x14]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x10]
mov edi, eax
and edi, 0x7225336c
mov ebx, edx
xor ebx, 0xf91299b6
add ebx, edi
mov edi, ebx
and edi, esi
add ebx, esi
add edi, edi
sub ebx, edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 4]
add bl, 6
mov byte [esp + edx + 0x10], bl
inc edx
add eax, 2
cmp edx, 0xb
jne 0x43b3a0
mov eax, dword [esp + 0x10]
mov edx, dword [0x44c2c8]
test edx, edx
je 0x43b430
xor esi, esi
mov edi, dword [0x44c2cc]
nop
cmp dword [edi + esi*8], 0x175b5231
je 0x43b400
inc esi
cmp edx, esi
jne 0x43b3f0
jmp 0x43b430
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x43b430
push 0
push 0x1c
lea eax, [esp + 0x50]
push eax
push 0
push dword [esp + 0x3c]
push ecx
push 6
push dword [0x44c2d0]
push edx
call fcn.0043c490
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xbfffffff
ja 0x43b905
test eax, eax
js 0x43b350
cmp dword [esp + 0x58], 0x1000
jne 0x43b350
cmp dword [esp + 0x5c], 1
je 0x43b350
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x54], ecx
jbe 0x43b5ea
mov dword [esp + 0x10], 0x40414e4f
lea eax, [esp + 0x14]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
mov esi, eax
and esi, 0x7225336c
mov edi, ecx
xor edi, 0xf91299b6
add edi, esi
mov esi, edi
and esi, edx
add edi, edx
add esi, esi
sub edi, esi
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
add dl, 6
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0xb
jne 0x43b490
mov eax, dword [0x44c2c8]
test eax, eax
je 0x43b51a
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44c2cc]
nop
nop
cmp dword [esi + edx*8], 0xcf9c6479
je 0x43b4f0
inc edx
cmp eax, edx
jne 0x43b4e0
jmp 0x43b51a
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x43b51a
push 0x8000
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x10]
push ecx
push 0xffffffffffffffff
push 4
push dword [0x44c2d0]
push eax
call fcn.0043c490
add esp, 0x1c
mov dword [esp + 8], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], 0x40414e4f
lea eax, [esp + 0x14]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
mov esi, eax
and esi, 0x7225336c
mov edi, ecx
xor edi, 0xf91299b6
add edi, esi
mov esi, edi
and esi, edx
add edi, edx
add esi, esi
sub edi, esi
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
add dl, 6
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0xb
jne 0x43b550
mov eax, dword [esp + 0x10]
mov ecx, dword [0x44c2c8]
test ecx, ecx
je 0x43b5de
xor edx, edx
mov esi, dword [0x44c2cc]
nop
cmp dword [esi + edx*8], 0x72d34d92
je 0x43b5b0
inc edx
cmp ecx, edx
jne 0x43b5a0
jmp 0x43b5de
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x43b5de
push 4
push 0x3000
lea eax, [esp + 0x2c]
push eax
push 0
lea eax, [esp + 0x18]
push eax
push 0xffffffffffffffff
push 6
push dword [0x44c2d0]
push ecx
call fcn.0043c490
add esp, 0x24
test eax, eax
js 0x43b905
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x40414e4f
lea eax, [esp + 0x14]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi + 0x10]
mov ebx, eax
and ebx, 0x7225336c
mov edi, esi
xor edi, 0xf91299b6
add edi, ebx
mov ebx, edi
and ebx, edx
add edi, edx
add ebx, ebx
sub edi, ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
add dl, 6
mov byte [esp + esi + 0x10], dl
inc esi
add eax, 2
cmp esi, 0xb
jne 0x43b620
mov eax, dword [esp + 0x10]
mov edi, dword [0x44c2c8]
test edi, edi
je 0x43b6b0
xor ebx, ebx
mov edx, dword [0x44c2cc]
nop
cmp dword [edx + ebx*8], 0xaead8b9f
je 0x43b680
inc ebx
cmp edi, ebx
jne 0x43b670
jmp 0x43b6b0
mov edx, dword [edx + ebx*8 + 4]
cmp edx, eax
je 0x43b6b0
lea eax, [esp + 0x78]
push eax
push ecx
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x1c]
push 5
push dword [0x44c2d0]
push edx
call fcn.0043c490
add esp, 0x20
nop
nop
nop
nop
nop
cmp eax, 0xbfffffff
ja 0x43b350
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x84]
push dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
call fcn.0043b9d0
add esp, 0x18
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
cmp esi, eax
je 0x43b350
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
mov edx, dword [edi]
mov dword [esp + 0xc], edx
mov ecx, dword [edi + 4]
mov dword [esp + 0x68], esi
mov edx, esi
jmp 0x43b736
mov edi, ebx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov dword [edi + edx*4], ebx
add ecx, 4
mov dword [esi + 4], ecx
mov edx, dword [esp + 0x74]
add edx, 4
cmp edx, dword [esp + 0x3c]
mov edi, esi
je 0x43b8e1
mov esi, edi
mov dword [esp + 0x74], edx
mov ebx, dword [edx]
sub ebx, dword [esp + 8]
add ebx, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov edi, ecx
mov ebx, dword [esp + 0xc]
sub edi, ebx
mov edx, edi
sar edx, 2
mov dword [esp + 0x40], ecx
cmp ecx, eax
jne 0x43b710
mov dword [esp + 0x28], edi
lea eax, [edx + 1]
mov ecx, edx
shr ecx, 1
add ecx, edx
cmp ecx, eax
mov ebx, edx
ja 0x43b774
mov ecx, eax
mov dword [esp + 0x70], ecx
lea eax, [ecx*4]
push eax
call fcn.00408a60
add esp, 4
mov edi, eax
mov edx, dword [esp + 0xc]
test edx, edx
je 0x43b8c4
mov dword [esp + 0x6c], ebx
cmp edi, edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], edi
jbe 0x43b800
lea eax, [edx + ebx]
cmp eax, edi
jbe 0x43b800
test ebx, ebx
je 0x43b8b0
mov edx, dword [esp + 0xc]
lea eax, [edx + ebx]
dec eax
mov ecx, dword [esp + 0x38]
add ecx, ebx
dec ecx
mov esi, edx
not esi
add esi, dword [esp + 0x40]
and ebx, 7
je 0x43b841
neg ebx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax + edi]
mov byte [ecx + edi], dl
dec edi
cmp ebx, edi
jne 0x43b7e0
add eax, edi
add ecx, edi
mov ebx, dword [esp + 0x28]
add ebx, edi
cmp esi, 7
jae 0x43b84a
jmp 0x43b8b0
mov ecx, ebx
shr ecx, 2
mov esi, edx
mov eax, edi
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [esp + 0x28]
test bl, 1
je 0x43b8b0
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [eax + ebx], cl
jmp 0x43b8b0
mov ebx, dword [esp + 0x28]
cmp esi, 7
jb 0x43b8b0
neg ebx
xor edx, edx
nop
nop
mov edi, ebx
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
movzx ebx, byte [eax + edx - 1]
mov byte [ecx + edx - 1], bl
movzx ebx, byte [eax + edx - 2]
mov byte [ecx + edx - 2], bl
movzx ebx, byte [eax + edx - 3]
mov byte [ecx + edx - 3], bl
movzx ebx, byte [eax + edx - 4]
mov byte [ecx + edx - 4], bl
movzx ebx, byte [eax + edx - 5]
mov byte [ecx + edx - 5], bl
movzx ebx, byte [eax + edx - 6]
mov byte [ecx + edx - 6], bl
movzx ebx, byte [eax + edx - 7]
mov byte [ecx + edx - 7], bl
mov ebx, edi
add edx, 0xfffffff8
cmp edi, edx
jne 0x43b850
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push dword [esp + 0xc]
call fcn.00408a70
add esp, 4
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x38]
mov esi, dword [ebp + 8]
mov dword [esi], edi
lea ecx, [edi + ebx*4]
mov eax, dword [esp + 0x70]
lea eax, [edi + eax*4]
mov dword [esi + 8], eax
mov dword [esp + 0xc], edi
mov edx, ebx
jmp 0x43b716
mov eax, dword [esp + 0x68]
test eax, eax
je 0x43b350
cmp eax, dword [esp + 0x3c]
je 0x43b350
push eax
call fcn.00408a70
add esp, 4
jmp 0x43b350
mov dword [esp + 0x10], 0x40414e4f
mov dword [esp + 0x14], 0
mov dword [esp + 0x17], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
mov esi, eax
and esi, 0x7225336c
mov edi, ecx
xor edi, 0xf91299b6
add edi, esi
mov esi, edi
and esi, edx
add edi, edx
add esi, esi
sub edi, esi
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
add dl, 6
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0xb
jne 0x43b930
mov eax, dword [0x44c2c8]
test eax, eax
je 0x43b9ba
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44c2cc]
nop
nop
cmp dword [esi + edx*8], 0xcf9c6479
je 0x43b990
inc edx
cmp eax, edx
jne 0x43b980
jmp 0x43b9ba
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x43b9ba
push 0x8000
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x10]
push ecx
push 0xffffffffffffffff
push 4
push dword [0x44c2d0]
push eax
call fcn.0043c490
add esp, 0x1c
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10