Function at 0x100241c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [0x100ce4f0]
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
sub eax, edx
lea ebx, [ecx + 2]
cmp ebx, eax
jbe 0x100241e8
xor eax, eax
jmp 0x100241ec
movzx eax, word [edx + ecx]
mov dword [edi + 8], ebx
mov ecx, edi
mov word [esi], ax
lea eax, [esi + 4]
push eax
call fcn.10010160
lea eax, [esi + 0x1c]
mov byte [edi + 4], 0
push eax
mov ecx, edi
call fcn.10010160
mov ecx, eax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x10024224
xor al, al
jmp 0x10024227
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x34], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x10024243
xor al, al
jmp 0x10024246
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x35], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 2]
cmp ebx, eax
jbe 0x10024262
xor eax, eax
jmp 0x10024266
movzx eax, word [edi + edx]
mov dword [ecx + 8], ebx
mov word [esi + 0x3c], ax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x10024283
xor al, al
jmp 0x10024286
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x36], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x100242a2
xor al, al
jmp 0x100242a5
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x37], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x100242c1
xor al, al
jmp 0x100242c4
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x38], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x100242e0
xor al, al
jmp 0x100242e3
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x74], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x100242ff
xor al, al
jmp 0x10024302
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x75], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x1002431e
xor al, al
jmp 0x10024321
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x76], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x1002433d
xor al, al
jmp 0x10024340
mov al, byte [edi + edx]
mov dword [ecx + 8], ebx
mov byte [esi + 0x77], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 1]
cmp ebx, eax
jbe 0x1002435c
xor al, al
jmp 0x1002435f
mov al, byte [edx + edi]
mov dword [ecx + 8], ebx
mov byte [esi + 0x78], al
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 4]
cmp ebx, eax
jbe 0x1002437b
xor eax, eax
jmp 0x1002437e
mov eax, dword [edx + edi]
mov dword [ecx + 8], ebx
mov dword [esi + 0x44], eax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 4]
cmp ebx, eax
jbe 0x1002439a
xor eax, eax
jmp 0x1002439d
mov eax, dword [edx + edi]
mov dword [ecx + 8], ebx
mov dword [esi + 0x48], eax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 8]
mov dword [ebp + 8], ebx
cmp ebx, eax
jbe 0x100243c8
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
jmp 0x100243cf
mov ebx, dword [edx + edi]
mov eax, dword [edx + edi + 4]
mov edx, dword [ebp + 8]
mov dword [ecx + 8], edx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], eax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, edi
lea ebx, [edx + 8]
mov dword [ebp + 8], ebx
cmp ebx, eax
jbe 0x10024400
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
jmp 0x10024407
mov ebx, dword [edx + edi]
mov eax, dword [edx + edi + 4]
mov edx, dword [ebp + 8]
mov dword [ecx + 8], edx
mov ecx, esi
push dword [esi + 0x44]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], eax
call fcn.10024ab0
push dword [esi + 0x48]
mov ecx, esi
call fcn.10024b60
mov eax, dword [0x100ce4f8]
mov byte [0x100ce578], 1
test eax, eax
je 0x100244c7
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x1002444c
call fcn.1003db00
mov eax, dword [0x100ce4f8]
mov edi, dword [eax + 0x4c]
test edi, edi
je 0x100244c7
cmp dword [esi + 0x5c], 0
mov ebx, dword [esi + 0x58]
jl 0x100244c7
jg 0x10024462
test ebx, ebx
je 0x100244c7
mov edi, dword [edi + 0x40]
test edi, edi
je 0x100244c7
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
call fcn.100a7e80
mov edx, dword [esi + 0x5c]
mov ecx, ebx
movsd qword [ebp - 0xc], xmm0
call fcn.100a7e80
movsd xmm1, qword [ebp - 0xc]
divsd xmm1, xmm0
push 4
push edi
mulsd xmm1, qword [0x100bec30]
cvtpd2ps xmm0, xmm1
movss dword [ebp + 8], xmm0
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100244c7
movss xmm0, dword [ebp + 8]
sub esp, 0xc
mov ecx, edi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
movss dword [esp], xmm0
call dword [0x100bd64c]
mov eax, dword [0x100ce4f4]
test eax, eax
je 0x100244f7
cmp byte [eax], 0
jne 0x100244f7
push 0
push 0
push eax
push 0x1002e110
push 0
push 0
mov byte [eax], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x100244f7
mov ecx, eax
call fcn.1002d330
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4