Function at 0x10012590
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005f9eb
mov eax, dword fs:[0]
push eax
mov eax, 0x183c
call fcn.1005e480
mov eax, dword [0x1007ea30]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x1007f6c0]
mov ebx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100b5064]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov dword [ebp - 0x182c], eax
test eax, eax
je 0x100127f7
movss xmm0, dword [0x10068ed0]
movss dword [ebp - 0x1824], xmm0
test ebx, ebx
je 0x100127f4
mov eax, dword [ebx + 4]
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x1810]
push pe_nt_image_headers32
mov eax, dword [eax + 0x34]
push 0x80
push ecx
lea ecx, [ebx + 4]
call eax
test al, al
je 0x100127f4
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x100b506c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
call edx
mov edi, eax
test edi, edi
je 0x100127f4
mov eax, dword [0x100b509c]
test eax, eax
jne 0x10012690
push 0xe80c2f78
push 0x10068e81
call fcn.10012f20
push 0xc10bf213
push 0x10068db5
mov esi, eax
call fcn.10012f20
push esi
push eax
call fcn.1005b2a0
add esp, 0x18
mov dword [0x100b509c], eax
mov eax, dword [eax + ebx]
cmp eax, dword [edi + 0xac]
jg 0x100127f4
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0xb0]
lea eax, [eax + ecx*4]
add eax, edi
mov dword [ebp - 0x1828], eax
je 0x100127f4
xor ebx, ebx
cmp dword [eax + 4], ebx
jle 0x100127ed
xor ecx, ecx
mov dword [ebp - 0x1820], ecx
nop dword [eax]
cmp ebx, 0x13
jge 0x100127da
mov edi, dword [eax + 8]
add edi, ecx
add edi, eax
je 0x100127da
mov eax, dword [edi]
lea ecx, [ebp - 0x1848]
sub esp, 0xc
lea eax, [eax + eax*2]
add eax, eax
movss xmm0, dword [ebp + eax*8 - 0x17e4]
movss xmm1, dword [ebp + eax*8 - 0x17f4]
movss xmm2, dword [ebp + eax*8 - 0x1804]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.1005d640
mov esi, eax
mov ecx, dword [ebp - 0x182c]
lea eax, [ebp - 0x183c]
push eax
mov dword [ebp - 4], 0
call fcn.100122f0
mov ecx, dword [ebp + 0xc]
add ecx, 0xc
mov byte [ebp - 4], 1
push ecx
push esi
push eax
lea eax, [ebp - 0x181c]
push eax
call fcn.10011dc0
add esp, 0x10
lea ecx, [ebp - 0x183c]
call fcn.100564d0
lea ecx, [ebp - 0x1848]
mov dword [ebp - 4], 0xffffffff
call fcn.100564d0
fld dword [ebp - 0x1818]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x181c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
movss xmm0, dword [ebp - 0x1824]
lea ecx, [ebp - 0x181c]
fstp dword [ebp - 0x1830]
movss xmm1, dword [ebp - 0x1830]
add esp, 8
comiss xmm0, xmm1
jbe 0x100127c9
mov eax, dword [edi]
movss dword [ebp - 0x1824], xmm1
mov dword [0x100b5060], eax
call fcn.100564d0
mov ecx, dword [ebp - 0x1820]
mov eax, dword [ebp - 0x1828]
inc ebx
add ecx, 0x44
mov dword [ebp - 0x1820], ecx
cmp ebx, dword [eax + 4]
jl 0x100126d0
mov eax, dword [0x100b5060]
jmp 0x100127f7
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005e305
mov esp, ebp
pop ebp
ret