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

Disassembly:
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x70]
xor eax, eax
push esi
push edi
mov ax, word [ebp + 0x65fe]
mov ecx, 1
mov dword [esp + 0x64], eax
push 3
neg eax
push ebp
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
call fcn.004b21e0
mov eax, dword [ebp + 0x8c]
add esp, 8
test eax, eax
je 0x4b2d9f
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.PPG_interpolation..._n
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
xor ecx, ecx
mov edi, 3
mov cx, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
sub ecx, edi
cmp ecx, edi
jle 0x4b30dc
mov eax, dword [ebp + 0x657c]
mov esi, edi
and esi, 7
mov edx, eax
lea ecx, [esi*4 + 2]
shr edx, cl
and edx, 1
add edx, 3
mov ecx, edx
mov dword [esp + 0x14], edx
and ecx, 1
lea ecx, [ecx + esi*2]
shl ecx, 1
shr eax, cl
and eax, 3
mov dword [esp + 0x18], eax
xor eax, eax
mov ax, word [ebp + 0x65fe]
lea ecx, [eax - 3]
cmp edx, ecx
jge 0x4b30c3
imul eax, edi
add eax, edx
mov edx, dword [ebp + 0x6628]
xor esi, esi
lea ecx, [edx + eax*8]
xor eax, eax
mov edi, dword [esp + eax + 0x60]
xor edx, edx
add eax, 4
mov dx, word [ecx + edi*8 + 2]
shl edx, 2
mov dword [esp + eax + 0x4c], edx
add esi, edx
cmp eax, 0x10
jl 0x4b2e14
sar esi, 2
mov dword [esp + 0x28], esi
mov ebx, 0x57272c
movsx eax, word [ebx + 2]
movsx edx, word [ebx]
mov edi, dword [esp + edx*4 + 0x50]
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + eax*4 + 0x50]
lea edx, [esp + edx*4 + 0x50]
cmp edi, esi
jle 0x4b2e69
xor esi, edi
mov dword [edx], esi
mov edi, dword [eax]
xor edi, esi
mov dword [eax], edi
mov esi, dword [edx]
mov eax, edi
xor esi, eax
mov dword [edx], esi
add ebx, 4
cmp ebx, 0x57273c
jl 0x4b2e3c
lea edx, [esp + 0x64]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], edx
mov edi, dword [edx - 4]
mov edx, dword [edx]
mov eax, edi
mov dword [esp + 0x24], edx
neg eax
shl eax, 1
mov esi, 0xfffffffe
neg edx
lea ebx, [edx + eax]
xor ebp, ebp
mov bp, word [ecx + ebx*8 + 2]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jle 0x4b2eba
mov ebx, dword [esp + 0x24]
inc esi
add edx, ebx
add eax, edi
cmp esi, 2
jl 0x4b2e9a
cmp esi, 2
je 0x4b3054
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
jl 0x4b2e84
mov edx, dword [esp + 0x18]
xor eax, eax
mov esi, 1
mov dword [esp + 0x20], 0
mov ax, word [ecx + edx*2]
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
lea edi, [esi*8]
xor edx, edx
mov ebx, edi
mov dx, word [edi + ecx + 2]
add ebp, edi
xor edi, edi
xor eax, eax
mov di, word [ecx + ebp*2]
mov ebp, dword [esp + 0x18]
neg ebx
add ebp, ebx
mov ax, word [ebx + ecx + 2]
xor ebx, ebx
mov bx, word [ecx + ebp*2]
mov ebp, dword [esp + 0x1c]
add ebp, edx
mov dword [esp + 0x28], ebx
add ebp, eax
shl ebp, 1
sub ebp, edi
sub ebp, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + ebx + 0x48], ebp
mov ebp, dword [esp + 0x28]
sub ebp, dword [esp + 0x1c]
mov ebx, ebp
sar ebx, 0x1f
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x1c]
sub edi, ebx
lea ebx, [esi + esi*2]
mov dword [esp + 0x2c], edi
xor esi, esi
sar edi, 0x1f
mov dword [esp + 0x24], edi
mov edi, eax
sub edi, edx
mov dword [esp + 0x30], edi
sar edi, 0x1f
mov dword [esp + 0x28], edi
mov edi, ecx
shl ebx, 3
sub edi, ebx
mov si, word [edi + 2]
xor edi, edi
mov di, word [ebx + ecx + 2]
sub esi, eax
mov eax, esi
sub edi, edx
sar eax, 0x1f
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, edi
mov ebx, dword [esp + 0x30]
sar eax, 0x1f
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
xor eax, edx
mov edx, dword [esp + 0x28]
xor edx, ebx
add eax, edx
mov edx, dword [esp + 0x34]
mov ebx, edx
xor ebx, ebp
mov ebp, dword [esp + 0x28]
add eax, ebx
mov ebx, dword [esp + 0x24]
sub eax, ebx
sub eax, ebp
sub eax, edx
mov edx, dword [esp + 0x38]
mov ebp, edx
lea ebx, [eax + eax*2]
mov eax, dword [esp + 0x3c]
xor ebp, edi
mov edi, eax
xor edi, esi
add ebp, edi
sub ebp, edx
sub ebp, eax
mov eax, dword [esp + 0x20]
add eax, 4
lea edx, [ebx + ebp*2]
mov dword [esp + 0x20], eax
mov esi, dword [esp + eax + 0x60]
mov dword [esp + eax + 0x3c], edx
test esi, esi
jg 0x4b2ef7
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
xor eax, eax
cmp ebp, edx
setg al
mov edi, ecx
mov edx, dword [esp + eax*4 + 0x60]
shl edx, 3
sub edi, edx
mov si, word [edx + ecx + 2]
mov dx, word [edi + 2]
cmp si, dx
jae 0x4b306f
mov eax, dword [esp + eax*4 + 0x48]
and edx, 0xffff
sar eax, 2
cmp eax, edx
mov edi, eax
jl 0x4b3042
mov edi, edx
and esi, 0xffff
cmp esi, edi
jg 0x4b3096
cmp eax, edx
jl 0x4b3098
mov eax, edx
jmp 0x4b3098
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x78]
add edx, eax
sar edx, 3
mov word [ecx + 2], dx
mov edx, dword [esp + 0x14]
jmp 0x4b30a4
mov eax, dword [esp + eax*4 + 0x48]
and esi, 0xffff
sar eax, 2
cmp eax, esi
mov edi, eax
jl 0x4b3084
mov edi, esi
and edx, 0xffff
cmp edx, edi
jle 0x4b3092
mov eax, edx
jmp 0x4b3098
cmp eax, esi
jl 0x4b3098
mov eax, esi
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x14]
mov word [ecx + 2], ax
xor eax, eax
mov edi, dword [esp + 0x10]
mov ax, word [ebp + 0x65fe]
add edx, 2
mov dword [esp + 0x14], edx
lea ecx, [eax - 3]
cmp edx, ecx
jl 0x4b2e02
xor edx, edx
inc edi
mov dx, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
sub edx, 3
cmp edi, edx
jl 0x4b2dbb
xor eax, eax
mov edi, 1
mov ax, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
dec eax
cmp eax, edi
jle 0x4b3219
mov edx, dword [ebp + 0x657c]
mov eax, edi
and eax, 7
mov esi, edx
or ebx, 0xffffffff
lea ecx, [eax*4]
shr esi, cl
and esi, 1
inc esi
mov dword [esp + 0x14], esi
lea ecx, [esi + esi]
sub ebx, ecx
and ebx, 2
lea ecx, [ebx + eax*4]
xor eax, eax
mov ax, word [ebp + 0x65fe]
shr edx, cl
lea ecx, [eax - 1]
and edx, 3
cmp esi, ecx
jge 0x4b3202
imul eax, edi
mov ecx, dword [ebp + 0x6628]
add eax, esi
lea esi, [esp + 0x60]
lea eax, [ecx + eax*8]
mov ecx, 1
mov dword [esp + 0x28], esi
lea esi, [ecx*4]
mov edi, edx
sub edi, esi
xor ebx, ebx
add esi, edx
mov bx, word [eax + edi*2]
xor edi, edi
mov di, word [eax + esi*2]
mov esi, eax
shl ecx, 3
add ebx, edi
sub esi, ecx
xor edi, edi
mov di, word [esi + 2]
xor esi, esi
mov si, word [ecx + eax + 2]
sub ebx, edi
xor ecx, ecx
sub ebx, esi
mov cx, word [eax + 2]
lea esi, [ebx + ecx*2]
mov ecx, esi
and ecx, 0xfffffffe
cmp ecx, 0x1fffe
jge 0x4b31b8
mov edi, esi
sar edi, 1
test edi, edi
jge 0x4b31ac
xor esi, esi
jmp 0x4b31bd
cmp ecx, 0x1fffe
jge 0x4b31b8
sar esi, 1
jmp 0x4b31bd
mov esi, 0xffff
mov ecx, 2
mov word [eax + edx*2], si
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x28]
add ecx, 4
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx]
test ecx, ecx
jg 0x4b3157
mov esi, dword [esp + 0x14]
xor eax, eax
mov ax, word [ebp + 0x65fe]
mov edi, dword [esp + 0x10]
add esi, 2
lea ecx, [eax - 1]
mov dword [esp + 0x14], esi
cmp esi, ecx
jl 0x4b313c
xor edx, edx
inc edi
mov dx, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
dec edx
cmp edi, edx
jl 0x4b30f7
xor eax, eax
mov ebx, 1
mov ax, word [ebp + 0x65fc]
mov dword [esp + 0x10], ebx
dec eax
cmp eax, ebx
jle 0x4b3438
mov eax, dword [ebp + 0x657c]
mov esi, ebx
and esi, 7
mov edx, eax
mov edi, 2
lea ecx, [esi*4 + 2]
shr edx, cl
and edx, 1
inc edx
mov ecx, edx
mov dword [esp + 0x14], edx
and ecx, 1
lea ecx, [ecx + esi*2]
shl ecx, 1
shr eax, cl
and eax, 3
sub edi, eax
xor eax, eax
mov ax, word [ebp + 0x65fe]
mov dword [esp + 0x18], edi
lea ecx, [eax - 1]
cmp edx, ecx
jge 0x4b3421
imul eax, ebx
mov ecx, dword [ebp + 0x6628]
add eax, edx
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], ebx
lea esi, [eax + 1]
test esi, esi
jle 0x4b338c
xor ebp, ebp
xor eax, eax
mov bp, word [ebx + 2]
mov dword [esp + 0x20], ebp
jmp 0x4b32b7
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
lea edx, [esi*4]
xor ecx, ecx
sub edi, edx
add eax, 4
shl esi, 3
mov cx, word [ebx + edi*2]
mov edi, dword [esp + 0x18]
add edi, edx
xor edx, edx
mov dword [esp + 0x3c], esi
mov dx, word [ebx + edi*2]
mov edi, ecx
sub edi, edx
mov dword [esp + 0x34], edi
sar edi, 0x1f
mov dword [esp + 0x24], edi
mov edi, ebx
sub edi, esi
xor esi, esi
mov si, word [edi + 2]
mov edi, esi
sub edi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
sar edi, 0x1f
mov dword [esp + 0x28], edi
xor edi, edi
mov di, word [ebx + ebp + 2]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x30], edi
sub edi, ebx
mov ebp, dword [esp + 0x38]
mov ebx, edi
sar ebx, 0x1f
mov dword [esp + 0x3c], ebx
xor ebx, edi
mov edi, dword [esp + 0x28]
xor edi, ebp
mov ebp, dword [esp + 0x34]
add ebx, edi
mov edi, dword [esp + 0x24]
xor edi, ebp
mov ebp, dword [esp + 0x3c]
add ebx, edi
mov edi, dword [esp + 0x28]
sub ebx, ebp
mov ebp, dword [esp + 0x24]
sub ebx, edi
sub ebx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + eax + 0x3c], ebx
mov ebx, dword [esp + 0x30]
lea edi, [ebp + ebp]
sub edi, ebx
sub edi, esi
mov esi, dword [esp + eax + 0x64]
add edi, edx
mov edx, dword [esp + eax + 0x60]
add edi, ecx
add esi, edx
mov dword [esp + eax + 0x44], edi
test esi, esi
jg 0x4b32af
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x4b33c8
xor ecx, ecx
cmp eax, esi
setg cl
mov eax, dword [esp + ecx*4 + 0x48]
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 0x1fffe
jge 0x4b33f9
mov esi, eax
sar esi, 1
test esi, esi
jge 0x4b33bc
xor eax, eax
jmp 0x4b33fe
cmp ecx, 0x1fffe
jge 0x4b33f9
sar eax, 1
jmp 0x4b33fe
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0x3fffc
jge 0x4b33f9
mov esi, eax
sar esi, 2
test esi, esi
jge 0x4b33ec
xor eax, eax
jmp 0x4b33fe
cmp ecx, 0x3fffc
jge 0x4b33f9
sar eax, 2
jmp 0x4b33fe
mov eax, 0xffff
mov word [ebx + edi*2], ax
xor eax, eax
mov ax, word [ebp + 0x65fe]
mov ebx, dword [esp + 0x10]
add edx, 2
lea ecx, [eax - 1]
mov dword [esp + 0x14], edx
cmp edx, ecx
jl 0x4b3280
xor edx, edx
inc ebx
mov dx, word [ebp + 0x65fc]
mov dword [esp + 0x10], ebx
dec edx
cmp ebx, edx
jl 0x4b3234
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret