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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x623079
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
push ebx
push esi
push edi
mov eax, dword [0x685e38]
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.00535fa0
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.00535fa0
mov ebx, dword [ebp + 8]
sub ecx, ebx
add ecx, 8
add esp, 0x20
and ecx, 0x80000007
jns 0x536145
dec ecx
or ecx, 0xfffffff8
inc ecx
sub eax, ebx
add eax, 8
and eax, 0x80000007
jns 0x536156
dec eax
or eax, 0xfffffff8
inc eax
cmp ecx, eax
je 0x53617d
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 0x53618a
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x5361a4
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.0053c430
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.0053c430
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.0053c430
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.0053c430
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.0053de50
add esp, 0x10
lea ecx, [esp + 0x34]
mov esi, eax
mov byte [esp + 0x100], bl
call fcn.004f2200
lea ecx, [esp + 0x7c]
mov byte [esp + 0x100], 1
call fcn.004f2200
lea ecx, [esp + 0x58]
mov byte [esp + 0x100], 0
call fcn.004f2200
lea ecx, [esp + 0xa0]
mov dword [esp + 0x100], 0xffffffff
call fcn.004f2200
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