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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xb8]
mov ebp, dword [esp + 0x84]
xor ebx, ebx
and dword [esp + 0x2c], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xa4]
bswap ebp
bswap eax
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
mov esi, dword [edx + 4]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
lea ebp, [eax + ebp*4]
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x44]
mov edi, dword [edx]
mov dword [esp + 0x34], ebp
xor ebp, ebp
and dword [eax], ecx
and dword [eax + 4], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
cmp dword [esp + 0x30], ecx
jbe 0x42b326
cmp dword [esp + 0xb0], 0
lea edi, [esp + 0x68]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + ebp*4]
bswap eax
mov dword [esp + 0x20], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x42b22a
push 0
push dword [esp + 0x3c]
lea eax, [esp + 0x70]
push eax
call fcn.0042c050
mov ebx, dword [esp + 0x75]
push ebp
push dword [esp + 0x9c]
bswap ebx
push dword [esp + 0x9c]
mov dword [esp + 0x81], ebx
push dword [esp + 0x64]
call fcn.0042c6c2
mov edx, eax
add esp, 0x1c
test edx, edx
je 0x42b286
lea eax, [esp + 0x68]
xor ecx, ecx
sub edx, eax
lea eax, [edx + ecx*4]
mov eax, dword [esp + eax + 0x68]
xor dword [esp + ecx*4 + 0x68], eax
inc ecx
cmp ecx, 4
jl 0x42b213
mov ebx, dword [esp + 0x69]
jmp 0x42b286
push ebp
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x58]
call fcn.0042c6c2
mov edx, eax
add esp, 0x10
test edx, edx
je 0x42b264
lea eax, [esp + 0x68]
xor ecx, ecx
sub edx, eax
lea eax, [edx + ecx*4]
mov eax, dword [esp + eax + 0x68]
xor dword [esp + ecx*4 + 0x68], eax
inc ecx
cmp ecx, 4
jl 0x42b253
push dword [esp + 0xb0]
lea eax, [esp + 0x6c]
push dword [esp + 0x3c]
push eax
call fcn.0042c050
mov ebx, dword [esp + 0x75]
add esp, 0xc
bswap ebx
mov dword [esp + 0x69], ebx
mov cl, byte [esp + 0x68]
mov al, cl
shr al, 6
mov byte [esp + 0x17], al
cmp al, 1
je 0x42b36a
cmp al, 2
jne 0x42b2d2
movzx eax, cl
xor edx, edx
and eax, 0x3f
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x54]
and ecx, dword [esp + 0x5c]
or edx, ecx
jne 0x42b36a
mov al, byte [esp + 0x17]
mov cl, byte [esp + 0x68]
cmp al, 3
je 0x42b35f
test al, al
je 0x42b35b
movzx edx, cl
xor eax, eax
and edx, 0x3f
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x44]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add dword [esp + 0x34], 0x10
inc ebp
cmp ebp, dword [esp + 0x30]
jb 0x42b1aa
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0xa0], 0
je 0x42b33b
mov eax, dword [esp + 0x60]
add dword [eax], ebx
mov dword [edx], edi
mov dword [edx + 4], esi
mov eax, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x78]
add eax, ebx
pop edi
pop esi
neg eax
pop ebp
sbb eax, eax
pop ebx
xor ecx, esp
inc eax
call fcn.004b35e5
add esp, 0x6c
ret
cmp al, 3
jne 0x42b302
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x42b306
mov ecx, ebx
movzx esi, bl
shr ecx, 0x14
mov edx, 0xc0
add ecx, dword [esp + 0x20]
xor edi, edi
mov eax, ecx
mul edx
push 0
add esi, eax
mov dword [esp + 0x28], esi
adc edi, edx
shr ebx, 8
and ebx, 0xfff
mov dword [esp + 0x24], edi
lea eax, [ecx + ebx]
mov ecx, 0xc0
mul ecx
push ecx
push dword [esp + 0x28]
mov edi, eax
mov ebx, edx
movzx eax, byte [esp + 0x79]
cdq
add edi, eax
push esi
adc ebx, edx
call fcn.004b9c90
push 0
mov esi, eax
mov eax, 0xc0
push eax
push ebx
push edi
call fcn.004b9c90
lea ecx, [esi - 8]
cmp ecx, 0xb3
ja 0x42b3e3
cmp eax, 8
jl 0x42b3e3
cmp eax, 0xbb
jle 0x42b3ee
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x42b3f2
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp edx, ebx
jl 0x42b408
jg 0x42b404
cmp eax, edi
jb 0x42b408
inc dword [esp + 0x28]
mov esi, dword [esp + 0x18]
cmp edx, esi
jl 0x42b424
jg 0x42b418
cmp eax, dword [esp + 0x1c]
jb 0x42b424
cmp ebx, esi
jg 0x42b428
jl 0x42b424
cmp edi, dword [esp + 0x1c]
jae 0x42b428
inc dword [esp + 0x2c]
cmp byte [esp + 0xa0], 0
mov esi, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
je 0x42b30a
mov ecx, dword [esp + 0x64]
push dword [esp + 0x40]
push dword [esp + 0x4c]
inc dword [ecx]
lea ecx, [esp + 0x76]
push ecx
push edx
push eax
call fcn.0042af6b
mov eax, dword [esp + 0x50]
push dword [esp + 0x54]
push dword [esp + 0x60]
inc dword [eax]
lea eax, [esp + 0x8f]
push eax
push ebx
push edi
call fcn.0042af6b
mov eax, dword [esp + 0x64]
add esp, 0x28
mov ecx, dword [esp + 0x10]
inc dword [eax]
jmp 0x42b30a