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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101bcc8d
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x101d32d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], ecx
mov ebx, dword [ecx]
mov edi, dword [ecx + 0x28]
mov esi, dword [ecx + 0x14]
lea ecx, [ebp - 0x50]
mov eax, dword [ebp + 8]
push ecx
mov ecx, eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.100499a0
lea ecx, [ebp - 0x48]
push ecx
push edi
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x38]
push esi
push ecx
push eax
push edi
mov ecx, ebx
call fcn.10045700
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebx + 0x14]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x38], eax
call fcn.100471c0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 0xc]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [edi + 4]
cdq
sub esi, eax
sbb ecx, edx
cmp ecx, 0xffffffff
jl 0x1004775b
jg 0x10047616
cmp esi, 0x80000000
jb 0x1004775b
test ecx, ecx
jg 0x1004775b
jl 0x1004762c
cmp esi, 0x7fffffff
ja 0x1004775b
mov eax, dword [ebx + 0x20]
imul eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 8]
cdq
mov ecx, eax
mov edi, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cdq
sub ecx, eax
sbb edi, edx
cmp edi, 0xffffffff
jl 0x1004775b
jg 0x1004765e
cmp ecx, 0x80000000
jb 0x1004775b
test edi, edi
jg 0x1004775b
jl 0x10047674
cmp ecx, 0x7fffffff
ja 0x1004775b
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x28]
lea eax, [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebx + 0x20]
push eax
push esi
mov esi, dword [ebp - 0x34]
push ecx
push dword [ebx + 0x18]
mov ecx, esi
call dword [0x101d83dc]
call esi
test eax, eax
jns 0x100476a2
push eax
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
mov ecx, dword [ebx + 0x1c]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x100476ca
mov byte [ebp - 4], 1
mov dword [edi], 0
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101d83dc]
call esi
mov byte [ebp - 4], 0
mov ecx, dword [ebx + 0x18]
push edi
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x101d83dc]
call esi
test eax, eax
jns 0x100476e9
push eax
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
mov ecx, dword [edi]
fldz
push 0
sub esp, 8
mov eax, dword [ecx]
fstp qword [esp]
mov esi, dword [eax + 0x20]
lea eax, [ebx + 4]
push 0
push 0
push eax
push dword [ebp - 0x28]
push ecx
mov ecx, esi
call dword [0x101d83dc]
call esi
test eax, eax
jns 0x1004771b
push eax
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
mov edi, dword [edi]
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x1004773b
mov edx, dword [ecx]
push ecx
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x101d83dc]
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101b9e50
mov esp, ebp
pop ebp
ret 4
call fcn.1003ecc0
int3