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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x4bacc0]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xa4]
push ebx
xor ebx, ebx
cmp dword [0x4bd458], ebx
push ebp
mov ebp, dword [esp + 0x94]
push esi
push edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x28], eax
mov al, 0x69
mov dword [esp + 0x2c], ecx
mov cl, 0x14
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], 0x46
mov byte [esp + 0x5a], 1
mov byte [esp + 0x5b], 1
mov byte [esp + 0x5c], 1
mov byte [esp + 0x5d], 0x10
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], 0xa0
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], 1
mov byte [esp + 0x65], bl
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], 1
mov byte [esp + 0x68], cl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], 0xa1
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], 1
mov byte [esp + 0x70], bl
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], 1
mov byte [esp + 0x73], cl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], 0xa2
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], bl
mov byte [esp + 0x79], bl
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], al
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], 1
mov byte [esp + 0x7e], cl
mov byte [esp + 0x7f], bl
mov byte [esp + 0x80], 1
mov byte [esp + 0x81], bl
mov byte [esp + 0x82], bl
mov byte [esp + 0x83], bl
mov byte [esp + 0x84], bl
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], 2
mov byte [esp + 0x87], bl
je 0x4455fb
call fcn.00452bc0
mov dword [esp + 0x40], eax
mov esi, dword [0x4bd454]
cmp esi, ebx
mov eax, dword [esp + 0x90]
je 0x44561b
lea esp, [esp]
cmp dword [esi], eax
je 0x445625
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x445610
mov edi, 0x16
jmp 0x445d91
cmp dword [esp + 0xac], ebx
jne 0x445638
mov edi, 0x16
jmp 0x445d91
push 0x1e
push ebp
call fcn.00481160
add esp, 8
cmp eax, ebx
je 0x44567c
mov byte [eax], bl
mov edx, dword [esi + 0x240]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esi + edx*4 + 0xfcd0]
push ecx
add eax, 1
push 0x4a0f44
push eax
call fcn.0048108c
add esp, 0x10
cmp eax, 2
je 0x44567c
mov edi, 0x16
jmp 0x445d91
mov eax, dword [esp + 0xa0]
sub eax, 1
je 0x445740
sub eax, 1
je 0x44569b
mov edi, 0x16
jmp 0x445d91
test byte [esi + 0x1264], 4
je 0x4456ae
mov edi, 0x16
jmp 0x445d91
mov eax, dword [esp + 0xa8]
cmp eax, ebx
je 0x4456d7
cmp dword [esi + 0x240], ebx
jne 0x4456d7
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x96
jge 0x4456d7
mov edi, 0x16
jmp 0x445d91
lea edx, [esp + 0x34]
push edx
push ebx
push ebx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esi + 0x240]
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x70]
push edx
lea ecx, [esi + eax*4 + 0x10174]
push ecx
lea edx, [esp + 0x60]
push edx
push ebp
call fcn.00443b80
mov edi, eax
cmp edi, ebx
jne 0x445d91
cmp dword [esp + 0x38], 2
jne 0x445736
mov eax, dword [esi + 0x240]
cmp dword [esi + eax*4 + 0x10174], 0xffffffff
jne 0x44579c
mov edi, 0x16
jmp 0x445d91
test byte [esi + 0x1264], 4
je 0x445772
cmp dword [esi + 0x240], ebx
je 0x44575b
mov edi, 0x16
jmp 0x445d91
test dword [esp + 0xac], 0x300000
jne 0x445772
mov edi, 0x16
jmp 0x445d91
cmp edi, ebx
je 0x445780
mov edi, 0x16
jmp 0x445d91
mov eax, dword [esp + 0xa8]
cmp eax, ebx
je 0x44579c
cmp eax, 0x96
jge 0x44579c
mov edi, 0x16
jmp 0x445d91
test dword [esp + 0xac], 0x2000
je 0x445801
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x445801
push edi
call fcn.00454250
add esp, 4
test eax, eax
je 0x445801
push edi
call fcn.00454250
push eax
call fcn.0042b950
mov ecx, dword [esi + 0x240]
mov edx, ecx
shl edx, 4
add edx, ecx
mov dword [esi + edx*4 + 0x1bfc], eax
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
add esp, 8
cmp dword [esi + ecx*4 + 0x1bfc], ebx
jne 0x445801
mov edi, 0x19
jmp 0x445d91
push ebp
call fcn.0042e980
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x445d91
lea edi, [esi + 0x14]
push edi
push 1
push ebp
call fcn.0042bc30
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [edi]
push 3
push ecx
call fcn.0042bdd0
mov edx, dword [edi]
push edx
call fcn.0042bf40
mov eax, dword [esi + 0x240]
add esp, 0x20
imul eax, eax, 0x202
mov dword [edi], 0xffffffff
mov ecx, ebp
lea edx, [eax + esi + 0x3608]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x445862
mov ebp, dword [esi + 0x240]
xor edi, edi
cmp ebp, ebx
jle 0x44589e
mov edx, ebp
lea ecx, [esi + 0x1bc4]
mov dword [esp + 0x10], edx
mov eax, dword [ecx + 0x14]
cdq
xor eax, edx
sub eax, edx
add eax, dword [ecx]
add ecx, 0x44
add edi, eax
sub dword [esp + 0x10], 1
jne 0x445888
mov ecx, dword [esp + 0xac]
mov eax, ebp
shl eax, 4
add eax, ebp
mov dword [esi + eax*4 + 0x1bbc], edi
mov eax, dword [esi + 0x240]
mov edx, eax
and ecx, 0xffbfffff
shl edx, 4
add edx, eax
mov dword [esi + edx*4 + 0x1bd0], ecx
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esi + ecx*4 + 0x1bf4], eax
sub eax, 1
mov ebp, 0x1000
je 0x4459da
sub eax, 1
mov eax, dword [esi + 0x240]
je 0x445953
mov edx, eax
shl edx, 4
add edx, eax
mov dword [esi + edx*4 + 0x1bf0], 0x800
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov edx, dword [esi + ecx*4 + 0x1bf0]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.0042eb60
mov ecx, dword [esi + 0x240]
mov edx, ecx
shl edx, 4
add esp, 0xc
add edx, ecx
mov dword [esi + edx*4 + 0x1bc4], eax
jmp 0x445b57
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bf0], 0x930
mov eax, dword [esi + 0x240]
cmp eax, ebx
jne 0x445984
cmp dword [esp + 0xa8], ebx
jne 0x445984
mov dword [esi + 0x1bd8], 0x96
jmp 0x445999
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xa8]
mov dword [esi + edx*4 + 0x1bd8], eax
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x14]
push 2
push ecx
call fcn.0042bdd0
mov eax, dword [esi + 0x240]
mov edx, eax
shl edx, 4
add esp, 0x10
add edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi + edx*4 + 0x1bc4], eax
jmp 0x445b57
mov eax, dword [esi + 0x240]
mov edx, dword [esp + 0xa4]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bf0], edx
mov eax, dword [esi + 0x240]
cmp eax, ebx
jne 0x445a14
cmp dword [esp + 0xa8], ebx
jne 0x445a14
mov dword [esi + 0x1bd8], 0x96
jmp 0x445a29
mov edx, dword [esp + 0xa8]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bd8], edx
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
mov eax, dword [esi + 0x240]
je 0x445a47
mov edx, eax
shl edx, 4
add edx, eax
mov dword [esi + edx*4 + 0x1bc4], ecx
jmp 0x445a7c
mov ecx, eax
shl ecx, 4
add ecx, eax
mov edx, dword [esi + ecx*4 + 0x1bf0]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.0042eb60
mov ecx, dword [esi + 0x240]
mov edx, ecx
shl edx, 4
add esp, 0xc
add edx, ecx
mov dword [esi + edx*4 + 0x1bc4], eax
test dword [esp + 0xac], 0x300000
je 0x445b57
push ebp
lea edi, [esi + 0x25c]
push ebx
push edi
call fcn.00481440
push 0x30
lea eax, [esp + 0x68]
push eax
push edi
call fcn.00481900
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov ecx, dword [esi + ecx*4 + 0x1bc4]
add ecx, 0x96
mov eax, 0x7482296b
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.00452b80
mov byte [esi + 0x27e], al
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [esi + ecx*4 + 0x1bc4]
add eax, 0x96
cdq
mov ecx, 0x1194
idiv ecx
mov eax, 0x1b4e81b5
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.00452b80
mov byte [esi + 0x27f], al
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [esi + ecx*4 + 0x1bc4]
add eax, 0x96
cdq
mov ecx, 0x1194
idiv ecx
mov ecx, 0x4b
mov eax, edx
cdq
idiv ecx
push edx
call fcn.00452b80
add esp, 0x24
mov byte [esi + 0x280], al
cmp dword [esp + 0x20], ebx
mov eax, dword [esi + 0x240]
je 0x445b85
mov ecx, dword [esp + 0x20]
mov edx, eax
shl edx, 4
add edx, eax
lea edx, [esi + edx*4 + 0x1be0]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x445b75
jmp 0x445b93
mov ecx, eax
shl ecx, 4
add ecx, eax
mov byte [esi + ecx*4 + 0x1be0], bl
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x445bcd
push edi
call fcn.00454250
add esp, 4
test eax, eax
je 0x445bcd
push edi
call fcn.00454250
push eax
mov eax, dword [esi + 0x240]
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [esi + edx*4 + 0x1bfc]
push edi
push eax
call fcn.00481900
add esp, 0x10
mov ecx, dword [esp + 0xac]
and ecx, 0x400000
je 0x445bfb
mov eax, dword [esi + 0x240]
mov edx, eax
shl edx, 4
add edx, eax
add dword [esi + edx*4 + 0x1bc4], 0x96
lea eax, [esi + edx*4 + 0x1bc4]
mov edx, 1
add dword [esi + 0x240], edx
add dword [esi + 0x1260], edx
cmp ecx, ebx
mov eax, dword [esi + 0x240]
je 0x445d23
mov ecx, dword [str.BogusTrk]
imul eax, eax, 0x202
lea eax, [eax + esi + 0x3608]
mov dword [eax], ecx
mov edx, dword [0x4a0f3c]
mov dword [eax + 4], edx
mov cl, byte [0x4a0f40]
mov byte [eax + 8], cl
mov edi, dword [esi + 0x240]
xor ebp, ebp
cmp edi, ebx
jle 0x445c76
mov edx, edi
lea ecx, [esi + 0x1bc4]
mov dword [esp + 0x10], edx
lea esp, [esp]
mov eax, dword [ecx + 0x14]
cdq
xor eax, edx
sub eax, edx
add eax, dword [ecx]
add ecx, 0x44
add ebp, eax
sub dword [esp + 0x10], 1
jne 0x445c60
mov eax, edi
shl eax, 4
add eax, edi
mov dword [esi + eax*4 + 0x1bbc], ebp
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bc4], 0x2ee
mov eax, dword [esi + 0x240]
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xac]
mov dword [esi + edx*4 + 0x1bd0], eax
mov eax, dword [esi + 0x240]
mov edx, dword [esp + 0xa0]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bf4], edx
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov edx, dword [esi + ecx*4 + 0x1bac]
lea eax, [esi + ecx*4]
mov dword [eax + 0x1bf0], edx
mov eax, dword [esi + 0x240]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov dword [esi + ecx*4 + 0x1bd8], 0x12c
mov ecx, 1
add dword [esi + 0x240], ecx
mov eax, dword [esi + 0x240]
add dword [esi + 0x1260], ecx
mov ebp, 0x1000
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
je 0x445d5a
mov edx, eax
shl edx, 4
add edx, eax
test dword [esi + edx*4 + 0x1b8c], ebp
lea eax, [esi + edx*4]
je 0x445d4c
mov edx, dword [eax + 0x1b3c]
add edx, dword [eax + 0x1b34]
jmp 0x445d58
mov edx, dword [eax + 0x1b80]
add edx, dword [eax + 0x1b78]
mov dword [ecx], edx
mov edx, dword [esp + 0x2c]
cmp edx, ebx
je 0x445d8b
mov dword [edx], ebx
xor ecx, ecx
cmp dword [esi + 0x240], ebx
jle 0x445d8b
lea eax, [esi + 0x1bc4]
test dword [eax + 0xc], ebp
jne 0x445d7d
mov edi, dword [eax]
add dword [edx], edi
add ecx, 1
add eax, 0x44
cmp ecx, dword [esi + 0x240]
jl 0x445d74
mov ebp, dword [esp + 0x24]
xor edi, edi
cmp dword [0x4bd458], ebx
je 0x445e48
mov eax, dword [esp + 0x1c]
push eax
call fcn.00452c70
mov ecx, dword [esp + 0x24]
add esp, 4
push eax
push ecx
call fcn.00452c70
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
add esp, 4
push eax
mov eax, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xac]
push eax
push ecx
push edx
push ebp
call fcn.00452c70
add esp, 4
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.00452c60
mov ecx, dword [esp + 0x48]
add esp, 4
push eax
push ecx
call fcn.00452c60
mov edx, dword [esp + 0xb4]
add esp, 4
push eax
push edx
push edi
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.0042ca30
test eax, eax
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
jge 0x445e25
fadd dword [0x49f698]
fdiv qword [0x49f690]
mov eax, dword [esp + 0x70]
sub esp, 8
fstp qword [esp]
push eax
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 0x4cb080
call fcn.00432450
add esp, 0x44
mov ecx, dword [esp + 0x88]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004810ab
add esp, 0x7c
ret 0x28