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

Disassembly:
sub esp, 0xf0
xor eax, eax
mov dword [esp + 0x34], eax
push ebx
mov dword [esp + 0x3c], eax
push esi
mov dword [esp + 0x44], eax
push edi
mov dword [esp + 0x4c], eax
push ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x104]
mov ecx, edx
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0x108]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov eax, esi
mov edi, dword [ecx]
add ecx, 4
inc dword [esp + edi*4 + 0x44]
dec eax
jne 0x43b191
cmp esi, dword [esp + 0x44]
jne 0x43b1cb
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
xor eax, eax
mov dword [ebx], 0
mov dword [ebp], 0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret
mov ebp, dword [esp + 0x11c]
mov ecx, 1
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x48]
cmp dword [eax], 0
jne 0x43b1f6
add eax, 4
inc ecx
lea edi, [esp + 0x80]
cmp eax, edi
jbe 0x43b1e2
mov dword [esp + 0x18], ecx
mov edi, ecx
cmp dword [esp + 0x10], ecx
jae 0x43b206
mov dword [esp + 0x10], edi
mov ebx, 0xf
lea eax, [esp + 0x80]
cmp dword [eax], 0
jne 0x43b223
sub eax, 4
dec ebx
lea ebp, [esp + 0x44]
cmp eax, ebp
jne 0x43b212
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x10], ebx
jbe 0x43b231
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x11c]
mov dword [ebp], eax
mov eax, 1
shl eax, cl
mov dword [esp + 0x20], eax
cmp ecx, ebx
jae 0x43b26d
lea ebp, [esp + ecx*4 + 0x44]
mov eax, dword [ebp]
sub dword [esp + 0x20], eax
js 0x43b289
add ebp, 4
inc ecx
mov eax, dword [esp + 0x20]
add eax, eax
cmp ecx, ebx
mov dword [esp + 0x20], eax
jb 0x43b252
lea ecx, [esp + ebx*4 + 0x44]
mov eax, dword [ecx]
sub dword [esp + 0x20], eax
jns 0x43b299
mov eax, 0xfffffffd
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret
mov eax, 0xfffffffd
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret
add eax, dword [esp + 0x20]
lea ebp, [esp + 0x48]
mov dword [ecx], eax
xor ecx, ecx
lea eax, [esp + 0x8c]
dec ebx
mov dword [esp + 0x88], ecx
je 0x43b2c4
add ecx, dword [ebp]
add ebp, 4
mov dword [eax], ecx
add eax, 4
dec ebx
jne 0x43b2b6
xor ecx, ecx
mov eax, dword [edx]
add edx, 4
test eax, eax
je 0x43b2e6
lea eax, [esp + eax*4 + 0x84]
mov ebx, dword [esp + 0x128]
mov ebp, dword [eax]
inc ebp
mov dword [eax], ebp
mov dword [ebx + ebp*4 - 4], ecx
inc ecx
cmp esi, ecx
ja 0x43b2c6
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x3c], 0xffffffff
mov ebp, dword [esp + eax*4 + 0x84]
mov edx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x108], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x84], eax
xor esi, esi
mov dword [esp + 0x38], ebx
neg edx
mov dword [esp + 0xc4], eax
cmp edi, dword [esp + 0x24]
jg 0x43b5c1
mov ecx, dword [esp + 0x18]
lea ebx, [esp + ecx*4 + 0x44]
mov dword [esp + 0x40], ebx
mov ecx, dword [ebx]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
dec dword [esp + 0x34]
test ecx, ecx
je 0x43b5af
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, dword [esp + 0x18]
jge 0x43b47e
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
shl edi, 2
inc ebx
mov dword [esp + 0x1c], ebx
add edi, 4
add edx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
sub esi, edx
inc dword [esp + 0x3c]
cmp esi, eax
jb 0x43b393
mov esi, eax
mov ecx, dword [esp + 0x18]
mov ebx, 1
sub ecx, edx
shl ebx, cl
cmp ebx, dword [esp + 0x1c]
jbe 0x43b3cd
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
inc eax
sub ebx, eax
cmp ecx, esi
jae 0x43b3cd
inc ecx
cmp ecx, esi
jae 0x43b3cd
mov eax, dword [ebp + 4]
add ebx, ebx
add ebp, 4
cmp ebx, eax
jbe 0x43b3cd
sub ebx, eax
inc ecx
cmp ecx, esi
jb 0x43b3ba
mov eax, 1
mov ebp, dword [esp + 0x124]
mov esi, dword [ebp]
shl eax, cl
lea ebx, [esi + eax]
cmp ebx, 0x5a0
ja 0x43b5df
mov ebp, dword [esp + 0x120]
cmp dword [esp + 0x118], 0
lea esi, [ebp + esi*8]
mov ebp, dword [esp + 0x124]
mov dword [esp + edi + 0xc4], esi
mov dword [ebp], ebx
je 0x43b427
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x118], 0
mov dword [ebx], esi
test edi, edi
je 0x43b46e
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x28], cl
mov ebp, dword [esp + 0x14]
mov dword [esp + edi + 0x84], ebx
mov bl, byte [esp + 0x10]
mov ecx, edx
sub cl, byte [esp + 0x10]
mov byte [esp + 0x29], bl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
shr ebp, cl
shl ebp, 3
mov ebx, dword [esp + 0x28]
add ebp, dword [esp + edi + 0xc0]
mov ecx, dword [esp + 0x30]
mov dword [ebp], ebx
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, dword [esp + 0x18]
jl 0x43b378
mov cl, byte [esp + 0x18]
mov ebp, dword [esp + 0x108]
sub cl, dl
mov ebx, dword [esp + 0x128]
mov byte [esp + 0x29], cl
lea edi, [ebx + ebp*4]
cmp edi, dword [esp + 0x38]
ja 0x43b4a6
mov byte [esp + 0x28], 0xc0
jmp 0x43b50a
mov ebx, dword [esp + 0x38]
mov edi, dword [ebx]
cmp dword [esp + 0x10c], edi
jbe 0x43b4d8
cmp edi, 0x100
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
adc byte [esp + 0x1c], 0xff
and byte [esp + 0x1c], 0x60
mov bl, byte [esp + 0x1c]
mov byte [esp + 0x28], bl
jmp 0x43b505
sub edi, dword [esp + 0x10c]
lea ebp, [edi*4]
mov edi, dword [esp + 0x114]
mov ebx, dword [edi + ebp]
mov edi, dword [esp + 0x110]
add bl, 0x50
mov byte [esp + 0x28], bl
mov ebx, dword [edi + ebp]
mov dword [esp + 0x2c], ebx
add dword [esp + 0x38], 4
mov edi, 1
shl edi, cl
mov cl, dl
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x14]
shr edi, cl
cmp edi, eax
jae 0x43b548
lea ebx, [esi + edi*8]
mov ecx, dword [esp + 0x30]
shl ecx, 3
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
add edi, dword [esp + 0x30]
mov dword [ebx], ecx
mov dword [ebx + 4], ebp
add ebx, dword [esp + 0x1c]
cmp edi, eax
jb 0x43b52f
mov edi, 1
mov cl, byte [esp + 0x18]
dec cl
shl edi, cl
test dword [esp + 0x14], edi
je 0x43b568
xor dword [esp + 0x14], edi
shr edi, 1
test dword [esp + 0x14], edi
jne 0x43b55b
mov ecx, dword [esp + 0x3c]
xor dword [esp + 0x14], edi
mov edi, 1
lea ebx, [esp + ecx*4 + 0x84]
mov cl, dl
shl edi, cl
dec edi
and edi, dword [esp + 0x14]
cmp edi, dword [ebx]
je 0x43b348
sub ebx, 4
sub edx, dword [esp + 0x10]
mov edi, 1
mov cl, dl
shl edi, cl
dec edi
dec dword [esp + 0x3c]
and edi, dword [esp + 0x14]
cmp edi, dword [ebx]
jne 0x43b58d
jmp 0x43b348
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x24]
jle 0x43b336
cmp dword [esp + 0x20], 0
je 0x43b5ef
cmp dword [esp + 0x24], 1
je 0x43b5ef
mov eax, 0xfffffffb
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret
mov eax, 0xfffffffc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xf0
ret