Function at 0x10046410
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ac198
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x101bf2c4]
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 ebx, ecx
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 0x28]
lea eax, [ebp - 0x30]
mov byte [ebp - 0x40], 0
push dword [ebx + 0x14]
mov ecx, edi
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x38], 0
push eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
call fcn.100486f0
mov ecx, dword [ebx]
push eax
push edi
call fcn.10044740
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x24]
mov edx, dword [ebx + 0x14]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x38], eax
call fcn.100460b0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0
mov eax, dword [edi + 4]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [edi + 0xc]
cdq
sub eax, ecx
mov dword [ebp - 0x2c], eax
sbb edx, esi
cmp edx, 0xffffffff
jl 0x1004661e
jg 0x100464df
cmp eax, 0x80000000
jb 0x1004661e
test edx, edx
jg 0x1004661e
jl 0x100464f4
cmp eax, 0x7fffffff
ja 0x1004661e
mov eax, dword [edi]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [edi + 8]
cdq
mov edi, eax
sub edi, ecx
sbb edx, esi
cmp edx, 0xffffffff
jl 0x1004661e
jg 0x1004651c
cmp edi, 0x80000000
jb 0x1004661e
test edx, edx
jg 0x1004661e
jl 0x10046532
cmp edi, 0x7fffffff
ja 0x1004661e
mov ecx, dword [ebx + 0x20]
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebx + 0x18]
push eax
push dword [ebx + 0x28]
mov eax, ecx
mov esi, dword [esi]
imul eax, edx
mov esi, dword [esi + 0x50]
push eax
push ecx
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
mov eax, dword [ebx + 0x18]
push edx
push edi
push eax
call dword [0x101c43b0]
call esi
test eax, eax
jns 0x1004656d
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 0x1004658d
mov dword [edi], 0
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101c43b0]
call esi
mov eax, dword [ebx + 0x18]
push edi
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x28]
mov ecx, esi
call dword [0x101c43b0]
call esi
test eax, eax
jns 0x100465ac
push eax
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
mov ecx, dword [edi]
lea eax, [ebx + 4]
fldz
push 0
sub esp, 8
mov esi, dword [ecx]
fstp qword [esp]
mov esi, dword [esi + 0x20]
push 0
push 0
push eax
push dword [ebp - 0x28]
push ecx
mov ecx, esi
call dword [0x101c43b0]
call esi
test eax, eax
jns 0x100465de
push eax
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
mov edi, dword [edi]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x100465fe
mov edx, dword [ecx]
push ecx
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x101c43b0]
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.101aa740
mov esp, ebp
pop ebp
ret 4
call fcn.1003ddb0
int3