Function at 0x10002440
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017c88b
mov eax, dword fs:[0]
push eax
mov eax, 0x477c
call fcn.1017c1c0
mov eax, dword [0x101ce084]
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 eax, dword [ebp + 8]
mov ecx, dword [0x10222420]
mov dword [ebp - 0x2380], eax
mov eax, dword [0x102223ec]
mov esi, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x102223ec]
push eax
call dword [esi + 0xc]
mov ebx, eax
mov dword [ebp - 0x2384], ebx
test ebx, ebx
je 0x10002d29
mov ecx, dword [0x102224ac]
cmp dword [ecx + ebx], 0
jle 0x10002d29
cmp byte [0x102c7890], 0
je 0x10002d29
mov ecx, dword [0x102223ec]
mov edx, dword [ebx + 0x2ee8]
and edx, 0xfff
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edx, eax
mov dword [ebp - 0x23f0], edx
test edx, edx
je 0x10002d29
mov ecx, dword [0x1022268c]
cmp dword [ecx + edx], 0
je 0x10002d29
mov ecx, edx
call fcn.100022e0
test al, al
jne 0x10002d29
mov eax, dword [0x1022262c]
cmp word [eax + edx], 0x1f
je 0x10002d29
mov esi, 1
mov dword [ebp - 0x23cc], 0x10224030
mov edi, 0x102263d0
mov dword [ebp - 0x23c8], ebx
mov dword [ebp - 0x23bc], esi
mov dword [ebp - 0x237c], edi
mov dword [ebp - 0x23c0], 0x3f
nop dword [eax + eax]
mov ecx, dword [0x102223ec]
mov dword [edi - 0x18], 0xffffffff
mov dword [edi - 0x14], 0xffffffff
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edx, eax
mov dword [ebp - 0x23ac], edx
test edx, edx
je 0x100027fb
mov cl, byte [edx + 0xe9]
test cl, cl
jne 0x100027fb
mov ecx, dword [0x10222608]
mov cl, byte [ecx + edx]
test cl, cl
jne 0x100027fb
mov eax, dword [0x102224ac]
cmp dword [eax + edx], 0
jle 0x100027fb
mov eax, dword [0x102224ec]
mov ecx, dword [eax + edx]
cmp ecx, dword [eax + ebx]
je 0x100027fb
mov ecx, edx
call fcn.10002090
test al, al
je 0x100027fb
push edx
lea eax, [ebp - 0x23a8]
mov dword [ebp - 0x23b4], 0
push eax
call fcn.10008c80
mov dword [ebp - 4], 0
mov ebx, dword [ebp - 0x23a8]
cmp ebx, dword [ebp - 0x23a4]
je 0x100027e3
nop dword [eax + eax]
mov eax, 0x2360
call fcn.1017c1c0
mov ecx, 0x8d8
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10008c50
mov esi, dword [ebp - 0x23ac]
lea ecx, [ebp - 0x23cc]
add esp, 0x2360
mov dword [ebp - 0x23b8], eax
push ebx
push esi
call fcn.10002d50
test al, al
je 0x100027c5
xor eax, eax
mov dword [ebp - 0x2398], eax
cmp byte [ebx + 0x70], al
je 0x1000269a
mov ecx, dword [0x10222420]
mov eax, dword [ecx]
call dword [eax + 0x138]
mov ecx, eax
test ecx, ecx
je 0x1000267b
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 0x28]
call eax
fstp dword [ebp - 0x2398]
movss xmm0, dword [ebp - 0x2398]
jmp 0x1000267e
xorps xmm0, xmm0
mov eax, dword [0x102223f4]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101b63bc]
cvttss2si eax, xmm0
mov dword [ebp - 0x2398], eax
cmp byte [0x102c7890], 0
je 0x100026e0
push eax
mov eax, 0x2360
call fcn.1017c1c0
mov edi, esp
mov ecx, 0x8d8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x23ac]
push esi
call fcn.10008600
movd xmm2, dword [ebp - 0x23b8]
mov eax, dword [0x102223f4]
cvtdq2ps xmm2, xmm2
push esi
mulss xmm2, dword [eax + 0x20]
call fcn.10008ae0
lea eax, [ebp - 0x23b0]
push eax
lea eax, [ebp - 0x23dc]
push eax
push esi
call fcn.100042a0
lea eax, [ebp - 0x2394]
push eax
lea eax, [ebp - 0x2390]
push eax
push esi
call fcn.10003d40
mov edx, dword [ebp - 0x23b0]
mov eax, dword [ebp - 0x23b4]
mov ecx, dword [ebp - 0x2394]
cmp edx, eax
jg 0x10002726
cmp ecx, eax
jle 0x100027c5
movss xmm0, dword [ebp - 0x23dc]
lea edi, [ebp - 0x23b0]
cmp edx, ecx
lea eax, [ebp - 0x2394]
push ebx
cmovge eax, edi
mov edi, dword [ebp - 0x237c]
mov eax, dword [eax]
mov dword [edi - 0x14], ecx
lea ecx, [edi + 0x10]
mov dword [edi - 0x18], edx
movss dword [edi - 8], xmm0
movss xmm0, dword [ebp - 0x23d8]
movss dword [edi - 4], xmm0
movss xmm0, dword [ebp - 0x23d4]
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x2390]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x238c]
movss dword [edi + 8], xmm0
movss xmm0, dword [ebp - 0x2388]
mov dword [ebp - 0x23b4], eax
mov eax, dword [ebp - 0x23b8]
movss dword [edi + 0xc], xmm0
mov dword [edi - 0x10], eax
call fcn.100034e0
mov eax, dword [ebp - 0x2398]
mov ecx, dword [ebp - 0x2394]
mov dword [edi - 0xc], eax
mov eax, dword [0x102224ac]
cmp ecx, dword [eax + esi]
jg 0x100027dd
jmp 0x100027cb
mov edi, dword [ebp - 0x237c]
add ebx, 0x2360
cmp ebx, dword [ebp - 0x23a4]
jne 0x10002600
mov esi, dword [ebp - 0x23bc]
lea ecx, [ebp - 0x23a8]
mov dword [ebp - 4], 0xffffffff
call fcn.10005580
mov ebx, dword [ebp - 0x2384]
inc esi
add edi, 0x2388
sub dword [ebp - 0x23c0], 1
mov dword [ebp - 0x23bc], esi
mov dword [ebp - 0x237c], edi
jne 0x10002550
lea ecx, [ebp - 0x40c]
mov dword [ebp - 0x239c], 0
call fcn.10002140
mov ebx, 1
mov dword [ebp - 0x2378], 0
mov byte [ebp - 0x2371], 0
mov edi, 0x102263b8
mov dword [ebp - 0x237c], ebx
mov ecx, dword [0x102223ec]
push ebx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
je 0x1000290d
cmp byte [edi + 0x98], 0
lea eax, [ebp - 0x2371]
mov esi, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ebp - 0x2418], eax
lea eax, [ebp - 0x23e8]
mov dword [ebp - 0x2414], eax
lea eax, [ebp - 0x2378]
mov dword [ebp - 0x2410], eax
lea eax, [ebp - 0x2370]
mov dword [ebp - 0x240c], eax
lea eax, [ebp - 0x23ec]
mov dword [ebp - 0x2408], eax
lea eax, [ebp - 0x239c]
mov dword [ebp - 0x2404], eax
lea eax, [ebp - 0x23c4]
mov dword [ebp - 0x2400], eax
mov eax, dword [ebp - 0x237c]
mov dword [ebp - 0x23fc], ebx
mov dword [ebp - 0x23f8], eax
mov dword [ebp - 0x23f4], 0x10224030
je 0x100028f1
cmp esi, dword [ebp - 0x239c]
jle 0x1000290d
push 1
jmp 0x10002902
test esi, esi
jg 0x1000292e
test ecx, ecx
jle 0x1000290d
cmp esi, ecx
setg al
movzx eax, al
push eax
lea ecx, [ebp - 0x2418]
call fcn.100031b0
mov ebx, dword [ebp - 0x237c]
add edi, 0x2388
inc ebx
mov dword [ebp - 0x237c], ebx
cmp edi, 0x102b2230
jl 0x10002851
jmp 0x1000295e
test ecx, ecx
jle 0x100028f9
mov eax, dword [0x102224ac]
cmp esi, dword [eax + ebx]
jg 0x10002c2a
cmp esi, ecx
jg 0x10002c2a
test byte [edi + 0x235c], 0x1a
lea ecx, [ebp - 0x2418]
push 0
je 0x10002908
call fcn.100031b0
cmp dword [ebp - 0x2378], 0
je 0x10002c6e
mov eax, dword [0x102223f4]
push ecx
movss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1022208c]
movss dword [0x1022208c], xmm0
call fcn.100051c0
test al, al
je 0x10002c4a
cmp byte [0x102c7890], 0
je 0x100029dc
push dword [ebp - 0x23ec]
mov eax, 0x2360
lea esi, [ebp - 0x2370]
call fcn.1017c1c0
mov edi, esp
mov ecx, 0x8d8
push dword [ebp - 0x2378]
rep movsd dword es:[edi], dword [esi]
call fcn.10008600
movd xmm2, dword [ebp - 0x23c4]
push dword [ebp - 0x2378]
cvtdq2ps xmm2, xmm2
call fcn.10008ae0
mov esi, dword [ebp - 0x2378]
lea eax, [ebp - 0x2370]
push 0x2360
push eax
lea eax, [ebp - 0x4784]
mov dword [ebp - 0x4788], esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x239c]
lea ecx, [ebp - 0x4788]
mov ebx, dword [ebp - 0x2384]
add esp, 0xc
mov dword [ebp - 0x2424], eax
mov al, byte [ebp - 0x2371]
mov dword [ebp - 0x2420], ebx
mov byte [ebp - 0x241c], al
call fcn.10003280
test al, al
je 0x10002c74
movq xmm0, qword [ebp - 0x23e8]
sub esp, 0xc
mov eax, dword [ebp - 0x23e0]
mov ecx, esp
push esi
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10004620
mov edi, dword [ebp - 0x2380]
test al, al
je 0x10002c7a
or dword [edi + 0x30], 1
lea eax, [ebp - 0x2390]
inc dword [0x102220cc]
lea ecx, [edi + 0xc]
push eax
mov dword [ebp - 0x2390], 0
mov dword [ebp - 0x238c], 0
mov dword [ebp - 0x2388], 0
call fcn.10001e10
test al, al
je 0x10002c7a
lea eax, [ebp - 0x2390]
mov dword [ebp - 0x2390], 0
push eax
lea ecx, [ebp - 0x23e8]
mov dword [ebp - 0x238c], 0
mov dword [ebp - 0x2388], 0
call fcn.10001e10
test al, al
je 0x10002c7a
mov eax, dword [0x102224a0]
lea edx, [ebp - 0x23dc]
lea ecx, [ebp - 0x2390]
movq xmm0, qword [eax + ebx]
mov eax, dword [eax + ebx + 8]
movq qword [ebp - 0x23a8], xmm0
movss xmm1, dword [ebp - 0x23a8]
movss xmm2, dword [ebp - 0x23a4]
mov dword [ebp - 0x23a0], eax
mov eax, dword [0x102224dc]
movss xmm3, dword [ebp - 0x23a0]
movq xmm0, qword [eax + ebx]
mov eax, dword [eax + ebx + 8]
movq qword [ebp - 0x23d0], xmm0
addss xmm1, dword [ebp - 0x23d0]
movss xmm0, dword [ebp - 0x23e8]
addss xmm2, dword [ebp - 0x23cc]
mov dword [ebp - 0x23c8], eax
addss xmm3, dword [ebp - 0x23c8]
subss xmm0, xmm1
movss dword [ebp - 0x2390], xmm0
movss xmm0, dword [ebp - 0x23e4]
subss xmm0, xmm2
movss dword [ebp - 0x238c], xmm0
movss xmm0, dword [ebp - 0x23e0]
subss xmm0, xmm3
movss dword [ebp - 0x2388], xmm0
call fcn.1012d260
movss xmm0, dword [ebp - 0x23dc]
mov eax, dword [ebp - 0x23c4]
movss dword [edi + 0xc], xmm0
movss xmm0, dword [ebp - 0x23d8]
movss dword [edi + 0x10], xmm0
movss xmm0, dword [ebp - 0x23d4]
movss dword [edi + 0x14], xmm0
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x2378]
mov dword [ebp - 0x4780], eax
lea eax, [ebp - 0x2370]
push 0x2360
push eax
lea eax, [ebp - 0x4778]
mov dword [ebp - 0x477c], ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x4780]
call fcn.10003340
test al, al
je 0x10002c7a
mov eax, dword [ebp - 0x2378]
sub esp, 0x3fc
mov edi, esp
mov ecx, 0xff
imul esi, dword [eax + 0x64], 0x3fc
push eax
add esi, 0x102b6520
rep movsd dword es:[edi], dword [esi]
call fcn.10128720
jmp 0x10002c74
push 1
lea ecx, [ebp - 0x2418]
call fcn.100031b0
mov eax, dword [0x102224ac]
cmp esi, dword [eax + ebx]
jg 0x1000295e
jmp 0x1000290d
mov eax, dword [0x1022262c]
mov ecx, dword [ebp - 0x23f0]
mov edi, dword [ebp - 0x2380]
mov ebx, dword [ebp - 0x2384]
cmp word [eax + ecx], 0x40
jne 0x10002c7a
or dword [edi + 0x30], 1
jmp 0x10002c7a
mov ebx, dword [ebp - 0x2384]
mov edi, dword [ebp - 0x2380]
cmp byte [0x102c7890], 0
je 0x10002c8a
mov ecx, edi
call fcn.100052a0
mov eax, dword [0x102223ec]
mov ecx, dword [0x10222420]
mov esi, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x102223ec]
push eax
call dword [esi + 0xc]
test eax, eax
je 0x10002cb1
mov ecx, eax
call fcn.10005340
mov esi, 1
mov ecx, dword [0x102223ec]
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edx, eax
test edx, edx
je 0x10002d10
cmp byte [edx + 0xe9], 0
jne 0x10002d10
mov ecx, dword [0x10222608]
cmp byte [edx + ecx], 0
jne 0x10002d10
mov eax, dword [0x102224ac]
cmp dword [edx + eax], 0
jle 0x10002d10
mov ecx, dword [0x102224ec]
mov eax, dword [edx + ecx]
cmp eax, dword [ecx + ebx]
je 0x10002d10
mov ecx, edx
call fcn.10002090
test al, al
je 0x10002d10
cmp byte [0x102c7890], 0
je 0x10002d10
push edx
call fcn.10008b40
inc esi
cmp esi, 0x40
jl 0x10002cb6
cmp dword [ebp - 0x2378], 0
jne 0x10002d29
mov dword [0x1022208c], 0
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.1017b14e
mov esp, ebp
pop ebp
ret 4