Function at 0x463030
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [sym.imp.PAL.dll_PalMemoryFree]
push esi
push edi
mov edi, 0x50f8e8
mov dword [ebp - 0x14], 0xff
mov dword [ebp - 8], edi
nop
cmp dword [edi - 0x28], 0
je 0x46340b
lea esi, [edi + 4]
mov eax, 8
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], eax
mov edi, dword [esi]
test edi, edi
je 0x4630b1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x4630a2
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x463083
push eax
push edi
call ecx
add esp, 8
mov esi, dword [edi + 0x28]
mov eax, dword [esi + 0xc]
mov dword [edi + 0x28], eax
push dword [esi]
call ebx
push esi
call ebx
mov eax, dword [edi + 0x28]
add esp, 8
test eax, eax
jne 0x463075
mov esi, dword [ebp - 4]
mov edi, dword [esi]
push dword [edi + 0x10]
call ebx
push dword [esi]
call ebx
mov eax, dword [ebp - 0xc]
add esp, 8
add esi, 4
sub eax, 1
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], eax
jne 0x463068
mov edi, dword [ebp - 8]
mov eax, dword [edi]
test eax, eax
je 0x4630f0
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4630d9
push eax
lea eax, [edi - 0x28]
push eax
call ecx
add esp, 8
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
mov dword [edi], eax
push dword [esi]
call ebx
push esi
call ebx
mov eax, dword [edi]
add esp, 8
test eax, eax
jne 0x4630c8
push dword [edi - 0x18]
call ebx
mov esi, dword [edi - 0x1c]
xor eax, eax
add esp, 4
mov dword [esi + 8], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xe8], 0
mov word [esi + 0xf4], ax
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], eax
mov dword [esi + 0x110], eax
mov dword [esi + 0x120], eax
mov dword [esi + 0x124], eax
mov dword [esi + 0x128], eax
cmp dword [edi - 0x24], eax
jne 0x4633d2
movss xmm0, dword [esi + 0x1a0]
addss xmm0, dword [esi + 0x58]
mov eax, dword [esi + 0x178]
add dword [esi + 0x1c], eax
mov eax, dword [esi + 0x17c]
add dword [esi + 0x20], eax
movss dword [esi + 0x58], xmm0
movss xmm0, dword [esi + 0x1ac]
addss xmm0, dword [esi + 0x78]
mov eax, dword [esi + 0x180]
add dword [esi + 0x24], eax
mov eax, dword [esi + 0x184]
add dword [esi + 0x34], eax
movss dword [esi + 0x78], xmm0
movss xmm0, dword [esi + 0x1b0]
addss xmm0, dword [esi + 0x7c]
mov eax, dword [esi + 0x188]
add dword [esi + 0x38], eax
mov eax, dword [esi + 0x18c]
add dword [esi + 0x3c], eax
movss dword [esi + 0x7c], xmm0
movss xmm0, dword [esi + 0x1b4]
addss xmm0, dword [esi + 0x80]
push 0
movss dword [esi + 0x80], xmm0
movss xmm0, dword [esi + 0x1b8]
addss xmm0, dword [esi + 0x90]
movss dword [esi + 0x90], xmm0
movss xmm0, dword [esi + 0x1bc]
addss xmm0, dword [esi + 0x94]
movss dword [esi + 0x94], xmm0
movss xmm0, dword [esi + 0x1c0]
addss xmm0, dword [esi + 0x98]
movss dword [esi + 0x98], xmm0
call dword [sym.imp.PAL.dll_PalTaskGetTaskData]
add eax, 0x284c8
add esp, 4
xor edx, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
lea ecx, [eax + 0x5c]
mov dword [ebp - 4], ecx
cmp dword [ecx - 0x5c], 0
je 0x4632a6
mov eax, dword [ecx - 0x50]
not eax
test eax, 0x40000
jne 0x4632a6
xor edx, edx
nop dword [eax]
test dword [ecx - 4], 0x10000000
je 0x463297
imul eax, dword [ecx], 0x2dc
mov ebx, dword [ebp - 0x10]
cmp esi, dword [eax + ebx]
je 0x4632f5
inc edx
add ecx, 0x50
cmp edx, 8
jl 0x463280
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
inc edx
add ecx, 0x2dc
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], ecx
cmp edx, 0x40
jl 0x463268
xor eax, eax
movzx ecx, word [esi + 0x1a4]
movzx edx, word [esi + 0x1a6]
mov ebx, dword [sym.imp.PAL.dll_PalMemoryFree]
test eax, eax
je 0x4632fc
movzx eax, word [esi + 0x1a8]
add word [esi + 0x64], ax
movzx eax, word [esi + 0x1aa]
add word [esi + 0x60], cx
add word [esi + 0x62], dx
add word [esi + 0x66], ax
jmp 0x4633d2
mov eax, 1
jmp 0x4632ba
movzx eax, byte [esi + 0x5f]
movzx edi, word [esi + 0x1aa]
add ax, cx
movzx eax, ax
mov dword [ebp - 4], eax
movzx eax, byte [esi + 0x5e]
add ax, dx
movzx edx, word [esi + 0x1a8]
movzx ecx, ax
movzx eax, byte [esi + 0x5d]
add ax, dx
movzx edx, ax
movzx eax, byte [esi + 0x5c]
add ax, di
mov edi, dword [ebp - 4]
movzx eax, ax
cmp di, word [ebp - 0x14]
jle 0x463347
mov dword [ebp - 4], 0xff
jmp 0x463358
test di, di
mov dword [ebp - 0x10], 0
cmovs edi, dword [ebp - 0x10]
mov dword [ebp - 4], edi
mov edi, 0xff
cmp cx, di
jle 0x463366
mov ecx, edi
jmp 0x463373
xor edi, edi
test cx, cx
cmovs ecx, edi
mov edi, 0xff
cmp dx, di
jle 0x46337f
mov edx, 0xff
jmp 0x46338c
xor edi, edi
test dx, dx
cmovs edx, edi
mov edi, 0xff
cmp ax, di
jle 0x46339a
mov dword [ebp - 0xc], 0xff
jmp 0x4633a5
xor edi, edi
test ax, ax
cmovs eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 8]
cwde
movzx ecx, cl
shl eax, 8
or ecx, eax
movzx eax, dl
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xc]
shl ecx, 8
movzx eax, al
or ecx, eax
xor eax, eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
push 0x4c
lea eax, [esi + 0x178]
push 0
push eax
call fcn.0048cf70
mov ecx, dword [edi + 0x24]
add esp, 0xc
mov eax, dword [edi + 0x28]
mov dword [ecx + 0x50], eax
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x4633fb
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x4c], eax
push 0x54
lea eax, [edi - 0x28]
push 0
push eax
call fcn.0048cf70
add esp, 0xc
add edi, 0x54
mov dword [ebp - 8], edi
cmp edi, 0x5122e8
jl 0x463050
push 0x54
push 0
push 0x5122c0
call fcn.0048cf70
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret