Function at 0x5322f0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x61d2e9
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
push ebx
push esi
push edi
mov eax, dword [0x67dc50]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
mov eax, dword [edi + 0xc]
sub esp, 0x20
mov dword [esp + 0x4c], edx
fstp qword [esp + 0x18]
mov dword [esp + 0x48], ecx
fild dword [esp + 0x4c]
mov dword [esp + 0x44], eax
fstp qword [esp + 0x10]
fild dword [esp + 0x48]
fstp qword [esp + 8]
fild dword [esp + 0x44]
fstp qword [esp]
call fcn.00532220
mov esi, dword [ebp + 0x10]
mov ecx, eax
mov eax, dword [esi + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 4]
fild dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x10]
fstp qword [esp + 0x18]
mov dword [esp + 0x4c], eax
fild dword [esp + 0x48]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x50], eax
fstp qword [esp + 0x10]
fild dword [esp + 0x4c]
fstp qword [esp + 8]
fild dword [esp + 0x50]
fstp qword [esp]
call fcn.00532220
mov ebx, dword [ebp + 8]
sub ecx, ebx
add ecx, 8
add esp, 0x20
and ecx, 0x80000007
jns 0x5323c5
dec ecx
or ecx, 0xfffffff8
inc ecx
sub eax, ebx
add eax, 8
and eax, 0x80000007
jns 0x5323d6
dec eax
or eax, 0xfffffff8
inc eax
cmp ecx, eax
je 0x5323fd
xor edx, edx
cmp ecx, eax
setg dl
lea edx, [edx + edx - 1]
mov eax, edx
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
and ecx, 0x80000001
jns 0x53240a
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x532424
xor eax, eax
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
mov dword [esp + 0x28], eax
sub esp, 8
lea ecx, [esp + 0xa8]
fisub dword [esp + 0x30]
fstp qword [esp]
call fcn.005386b0
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov dword [esp + 0x28], ecx
sub esp, 8
lea ecx, [esp + 0x60]
fisub dword [esp + 0x30]
mov dword [esp + 0x108], 0
fstp qword [esp]
call fcn.005386b0
mov edx, dword [esi + 4]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
mov dword [esp + 0x28], eax
sub esp, 8
lea ecx, [esp + 0x84]
fisub dword [esp + 0x30]
mov byte [esp + 0x108], 1
fstp qword [esp]
call fcn.005386b0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
mov dword [esp + 0x28], edx
sub esp, 8
mov bl, 2
fisub dword [esp + 0x30]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x108], bl
fstp qword [esp]
call fcn.005386b0
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x110], 3
call fcn.0053a0d0
add esp, 0x10
lea ecx, [esp + 0x34]
mov esi, eax
mov byte [esp + 0x100], bl
call fcn.004ed1b0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x100], 1
call fcn.004ed1b0
lea ecx, [esp + 0x58]
mov byte [esp + 0x100], 0
call fcn.004ed1b0
lea ecx, [esp + 0xa0]
mov dword [esp + 0x100], 0xffffffff
call fcn.004ed1b0
mov eax, esi
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret