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

Disassembly:
sub esp, 0x68
mov al, 0x69
mov cl, 0x14
mov byte [esp + 0x5a], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], al
mov eax, dword [0x4b3504]
test eax, eax
mov dword [esp + 0x10], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0x46
mov byte [esp + 0x3a], 1
mov byte [esp + 0x3b], 1
mov byte [esp + 0x3c], 1
mov byte [esp + 0x3d], 0x10
mov byte [esp + 0x3e], 0
mov byte [esp + 0x3f], 0xa0
mov byte [esp + 0x40], 0
mov byte [esp + 0x41], 0
mov byte [esp + 0x42], 0
mov byte [esp + 0x43], 0
mov byte [esp + 0x44], 1
mov byte [esp + 0x45], 0
mov byte [esp + 0x46], 0
mov byte [esp + 0x47], 1
mov byte [esp + 0x48], cl
mov byte [esp + 0x49], 0
mov byte [esp + 0x4a], 0xa1
mov byte [esp + 0x4b], 0
mov byte [esp + 0x4c], 0
mov byte [esp + 0x4d], 0
mov byte [esp + 0x4e], 0
mov byte [esp + 0x4f], 1
mov byte [esp + 0x50], 0
mov byte [esp + 0x51], 0
mov byte [esp + 0x52], 1
mov byte [esp + 0x53], cl
mov byte [esp + 0x54], 0
mov byte [esp + 0x55], 0xa2
mov byte [esp + 0x56], 0
mov byte [esp + 0x57], 0
mov byte [esp + 0x58], 0
mov byte [esp + 0x59], 0
mov byte [esp + 0x5d], 1
mov byte [esp + 0x5e], cl
mov byte [esp + 0x5f], 0
mov byte [esp + 0x60], 1
mov byte [esp + 0x61], 0
mov byte [esp + 0x62], 0
mov byte [esp + 0x63], 0
mov byte [esp + 0x64], 0
mov byte [esp + 0x65], 0
mov byte [esp + 0x66], 2
mov byte [esp + 0x67], 0
je 0x43b63b
call fcn.004501f0
mov dword [esp + 0x20], eax
push ebp
mov ebp, dword [0x4b3500]
push esi
push edi
test ebp, ebp
je 0x43b66f
mov eax, dword [ebp]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
je 0x43b66b
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x43b648
mov edi, dword [esp + 0x84]
mov esi, 0x16
jmp 0x43bdd5
test ebp, ebp
jne 0x43b680
mov edi, dword [esp + 0x84]
mov esi, 0x16
jmp 0x43bdd5
mov edi, dword [esp + 0x84]
push 0x1e
push edi
call fcn.0047e290
add esp, 8
test eax, eax
je 0x43b6ca
mov byte [eax], 0
mov edx, dword [ebp + 0x240]
lea ecx, [esp + 0x1c]
inc eax
push ecx
lea ecx, [ebp + edx*4 + 0xfb44]
push ecx
push 0x4ab524
push eax
call fcn.0047e1c0
add esp, 0x10
cmp eax, 2
je 0x43b6ca
mov esi, 0x16
jmp 0x43bdd5
mov eax, dword [esp + 0x88]
dec eax
je 0x43b791
dec eax
je 0x43b6e5
mov esi, 0x16
jmp 0x43bdd5
test byte [ebp + 0x1264], 4
je 0x43b6f8
mov esi, 0x16
jmp 0x43bdd5
mov eax, dword [esp + 0x90]
test eax, eax
je 0x43b723
mov ecx, dword [ebp + 0x240]
test ecx, ecx
jne 0x43b723
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x96
jge 0x43b723
mov esi, 0x16
jmp 0x43bdd5
lea edx, [esp + 0x24]
lea eax, [esp + 0x30]
push edx
push 0
push 0
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
mov eax, dword [ebp + 0x240]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x5c]
push ecx
push edx
lea ecx, [ebp + eax*4 + 0xffe8]
lea edx, [esp + 0x44]
push ecx
push edx
push edi
call fcn.00445220
mov esi, eax
add esp, 0x30
test esi, esi
jne 0x43bdd5
cmp dword [esp + 0x20], 2
jne 0x43b787
mov eax, dword [ebp + 0x240]
cmp dword [ebp + eax*4 + 0xffe8], 0xffffffff
jne 0x43b7f6
mov esi, 0x16
jmp 0x43bdd5
test byte [ebp + 0x1264], 4
je 0x43b7c5
mov eax, dword [ebp + 0x240]
test eax, eax
je 0x43b7ae
mov esi, 0x16
jmp 0x43bdd5
test dword [esp + 0x94], 0x300000
jne 0x43b7c5
mov esi, 0x16
jmp 0x43bdd5
mov eax, dword [esp + 0x98]
test eax, eax
je 0x43b7da
mov esi, 0x16
jmp 0x43bdd5
mov eax, dword [esp + 0x90]
test eax, eax
je 0x43b7f6
cmp eax, 0x96
jge 0x43b7f6
mov esi, 0x16
jmp 0x43bdd5
mov eax, dword [esp + 0x94]
test ah, 0x20
je 0x43b857
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x43b857
push esi
call fcn.004517e0
add esp, 4
test eax, eax
je 0x43b857
push esi
call fcn.004517e0
push eax
call fcn.0042f9c0
mov ecx, dword [ebp + 0x240]
add esp, 8
shl ecx, 6
mov dword [ecx + ebp + 0x1bf8], eax
mov edx, dword [ebp + 0x240]
shl edx, 6
mov eax, dword [edx + ebp + 0x1bf8]
test eax, eax
jne 0x43b857
mov esi, 0x19
jmp 0x43bdd5
push edi
call fcn.0042ff60
mov esi, eax
add esp, 4
test esi, esi
jne 0x43bdd5
push ebx
lea ebx, [ebp + 0x14]
push ebx
push 1
push edi
call fcn.0042fbf0
xor eax, eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
push ecx
push 3
push edx
call fcn.0042fd50
mov eax, dword [ebx]
push eax
call fcn.0042fec0
mov eax, dword [ebp + 0x240]
add esp, 0x20
mov ecx, eax
mov dword [ebx], 0xffffffff
shl ecx, 8
add ecx, eax
xor eax, eax
lea edx, [ebp + ecx*2 + 0x347c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x240]
xor edi, edi
test ecx, ecx
jle 0x43b90a
lea esi, [ebp + 0x1bc4]
mov dword [esp + 0x18], ecx
mov eax, dword [esi + 0x14]
add esi, 0x40
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esi - 0x40]
add eax, edx
add edi, eax
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jne 0x43b8ed
shl ecx, 6
mov esi, dword [esp + 0x8c]
mov dword [ecx + ebp + 0x1bbc], edi
mov edi, dword [esp + 0x98]
mov edx, dword [ebp + 0x240]
mov ecx, edi
shl edx, 6
and ecx, 0xffbfffff
mov dword [edx + ebp + 0x1bd0], ecx
mov eax, dword [ebp + 0x240]
shl eax, 6
mov dword [eax + ebp + 0x1bf4], esi
mov eax, esi
dec eax
je 0x43ba28
dec eax
je 0x43b9a2
mov ecx, dword [ebp + 0x240]
shl ecx, 6
mov dword [ecx + ebp + 0x1bf0], 0x800
mov edx, dword [ebp + 0x240]
mov ecx, dword [esp + 0x10]
shl edx, 6
mov eax, dword [edx + ebp + 0x1bf0]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
call fcn.00430c90
mov ecx, dword [ebp + 0x240]
add esp, 0xc
shl ecx, 6
mov dword [ecx + ebp + 0x1bc4], eax
jmp 0x43bb8b
mov edx, dword [ebp + 0x240]
shl edx, 6
mov dword [edx + ebp + 0x1bf0], 0x930
mov eax, dword [ebp + 0x240]
test eax, eax
jne 0x43b9d7
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x43b9d7
mov dword [ebp + 0x1bd8], 0x96
jmp 0x43b9e8
mov ecx, dword [esp + 0x94]
shl eax, 6
mov dword [eax + ebp + 0x1bd8], ecx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
mov edx, dword [ebx]
push eax
push ecx
push 2
push edx
call fcn.0042fd50
mov eax, dword [ebp + 0x240]
mov ecx, dword [esp + 0x3c]
add esp, 0x10
shl eax, 6
mov dword [eax + ebp + 0x1bc4], ecx
jmp 0x43bb8b
mov edx, dword [ebp + 0x240]
mov eax, dword [esp + 0x90]
shl edx, 6
mov dword [edx + ebp + 0x1bf0], eax
mov eax, dword [ebp + 0x240]
test eax, eax
jne 0x43ba60
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x43ba60
mov dword [ebp + 0x1bd8], 0x96
jmp 0x43ba71
mov ecx, dword [esp + 0x94]
shl eax, 6
mov dword [eax + ebp + 0x1bd8], ecx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43ba8b
mov edx, dword [ebp + 0x240]
shl edx, 6
mov dword [edx + ebp + 0x1bc4], eax
jmp 0x43babe
mov eax, dword [ebp + 0x240]
mov edx, dword [esp + 0x10]
shl eax, 6
mov ecx, dword [eax + ebp + 0x1bf0]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
call fcn.00430c90
mov ecx, dword [ebp + 0x240]
add esp, 0xc
shl ecx, 6
mov dword [ecx + ebp + 0x1bc4], eax
test edi, 0x300000
je 0x43bb8b
lea edx, [ebp + 0x25c]
mov ecx, 0x400
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x48]
push 0x30
push eax
push edx
call fcn.0047e960
mov ecx, dword [ebp + 0x240]
mov eax, 0x7482296b
shl ecx, 6
mov ecx, dword [ecx + ebp + 0x1bc4]
add ecx, 0x96
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00450190
mov ecx, dword [ebp + 0x240]
mov byte [ebp + 0x27e], al
shl ecx, 6
mov eax, dword [ecx + ebp + 0x1bc4]
mov ecx, 0x1194
add eax, 0x96
cdq
idiv ecx
mov eax, 0x1b4e81b5
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00450190
mov ecx, dword [ebp + 0x240]
mov byte [ebp + 0x27f], al
shl ecx, 6
mov eax, dword [ecx + ebp + 0x1bc4]
mov ecx, 0x1194
add eax, 0x96
cdq
idiv ecx
mov ecx, 0x4b
mov eax, edx
cdq
idiv ecx
push edx
call fcn.00450190
add esp, 0x18
mov byte [ebp + 0x280], al
mov edi, dword [esp + 0x9c]
test edi, edi
je 0x43bbcc
mov edx, dword [ebp + 0x240]
or ecx, 0xffffffff
xor eax, eax
shl edx, 6
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx + ebp + 0x1be0]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x8c]
jmp 0x43bbdd
mov ecx, dword [ebp + 0x240]
shl ecx, 6
mov byte [ecx + ebp + 0x1be0], 0
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x43bc16
push edi
call fcn.004517e0
add esp, 4
test eax, eax
je 0x43bc16
push edi
call fcn.004517e0
mov edx, dword [ebp + 0x240]
push eax
shl edx, 6
push edi
mov eax, dword [edx + ebp + 0x1bf8]
push eax
call fcn.0047e960
add esp, 0x10
mov ecx, dword [esp + 0x98]
and ecx, 0x400000
je 0x43bc44
mov edx, dword [ebp + 0x240]
shl edx, 6
lea eax, [edx + ebp + 0x1bc4]
mov edx, dword [edx + ebp + 0x1bc4]
add edx, 0x96
mov dword [eax], edx
mov edi, dword [ebp + 0x240]
mov edx, dword [ebp + 0x1260]
inc edi
inc edx
test ecx, ecx
mov dword [ebp + 0x240], edi
mov dword [ebp + 0x1260], edx
je 0x43bd4c
mov eax, edi
xor edi, edi
mov ecx, eax
shl ecx, 8
add ecx, eax
mov eax, dword [str.BogusTrk]
lea edx, [ebp + ecx*2 + 0x347c]
mov dword [ebp + ecx*2 + 0x347c], eax
mov ecx, dword [0x4ab51c]
mov dword [edx + 4], ecx
mov al, byte [0x4ab520]
mov byte [edx + 8], al
mov eax, dword [ebp + 0x240]
test eax, eax
jle 0x43bcbc
lea ecx, [ebp + 0x1bc4]
mov ebx, eax
mov eax, dword [ecx + 0x14]
add ecx, 0x40
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ecx - 0x40]
add eax, edx
add edi, eax
dec ebx
jne 0x43bca7
mov ecx, dword [ebp + 0x240]
shl ecx, 6
mov dword [ecx + ebp + 0x1bbc], edi
mov edx, dword [ebp + 0x240]
mov ecx, dword [esp + 0x98]
shl edx, 6
mov dword [edx + ebp + 0x1bc4], 0x2ee
mov eax, dword [ebp + 0x240]
shl eax, 6
mov dword [eax + ebp + 0x1bd0], ecx
mov edx, dword [ebp + 0x240]
shl edx, 6
mov dword [edx + ebp + 0x1bf4], esi
mov eax, dword [ebp + 0x240]
shl eax, 6
add eax, ebp
mov ecx, dword [eax + 0x1bb0]
mov dword [eax + 0x1bf0], ecx
mov edx, dword [ebp + 0x240]
shl edx, 6
mov dword [edx + ebp + 0x1bd8], 0x12c
mov ecx, dword [ebp + 0x240]
mov eax, dword [ebp + 0x1260]
inc ecx
inc eax
mov dword [ebp + 0x240], ecx
mov dword [ebp + 0x1260], eax
mov ecx, dword [esp + 0x80]
mov edx, 0x1000
test ecx, ecx
je 0x43bd8d
mov eax, dword [ebp + 0x240]
shl eax, 6
add eax, ebp
test dword [eax + 0x1b90], edx
je 0x43bd7d
mov esi, dword [eax + 0x1b44]
mov edi, dword [eax + 0x1b3c]
jmp 0x43bd89
mov esi, dword [eax + 0x1b84]
mov edi, dword [eax + 0x1b7c]
add esi, edi
mov dword [ecx], esi
mov esi, dword [esp + 0x84]
test esi, esi
je 0x43bdcb
mov dword [esi], 0
mov eax, dword [ebp + 0x240]
xor ecx, ecx
test eax, eax
jle 0x43bdcb
lea eax, [ebp + 0x1bc4]
test dword [eax + 0xc], edx
jne 0x43bdbd
mov edi, dword [eax]
mov ebx, dword [esi]
add ebx, edi
mov dword [esi], ebx
mov edi, dword [ebp + 0x240]
inc ecx
add eax, 0x40
cmp ecx, edi
jl 0x43bdb0
mov edi, dword [esp + 0x88]
xor esi, esi
pop ebx
mov eax, dword [0x4b3504]
test eax, eax
je 0x43be97
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.004502a0
mov edx, dword [esp + 0x9c]
add esp, 4
push eax
push edx
call fcn.004502a0
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
add esp, 4
push eax
mov eax, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x94]
push ecx
push edx
push eax
push edi
call fcn.004502a0
mov ecx, dword [esp + 0x9c]
add esp, 4
push eax
push ecx
call fcn.00450290
mov edx, dword [esp + 0x9c]
add esp, 4
push eax
push edx
call fcn.00450290
add esp, 4
push eax
mov eax, dword [esp + 0x9c]
push eax
push esi
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.00430b10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
fild qword [esp + 0x44]
mov ecx, dword [esp + 0x5c]
sub esp, 8
fmul qword [0x495520]
fstp qword [esp]
push ecx
push str.____06d____012.6f____04X___x_08X__PzInputListAdd___x_X___d___d___s__x_X___d___d__x_08X___s___s____r_n
push 0x4b65e0
call fcn.00445c70
add esp, 0x44
mov eax, esi
pop edi
pop esi
pop ebp
add esp, 0x68
ret