Function at 0x10083210
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
mov eax, dword [0x100fe040]
xor eax, esp
mov dword [esp + 0x64], eax
push ebx
push ebp
push esi
mov ebx, ecx
mov byte [esp + 0x11], dl
push edi
mov ecx, 0x1010cb2b
mov dword [esp + 0x28], ebx
call fcn.100b1e70
mov edi, dword [0x1010223c]
mov eax, dword [edi + 0x199c]
mov byte [eax + 0x7c], 1
mov esi, dword [edi + 0x199c]
cmp byte [esi + 0x7f], 0
jne 0x10083510
mov eax, dword [esp + 0x80]
and eax, 2
mov dword [esp + 0x1c], eax
je 0x10083274
cmp dword [esi + 0x1bc], 0
je 0x10083274
call fcn.1003d400
cmp dword [esi + 0x1c0], 0
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
jg 0x10083297
push 0x4b8
push str.D:onistrix_2018imguiimgui.h
push str.Size___0
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x1c0]
xor edx, edx
mov eax, dword [esi + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.10035b50
mov ecx, dword [0x1010223c]
mov ebx, eax
add esp, 4
cmp dword [ecx + 0x19bc], ebx
jne 0x100832c9
mov dword [ecx + 0x19c4], ebx
cmp dword [ecx + 0x19c0], ebx
jne 0x100832d8
mov byte [ecx + 0x19d0], 1
mov edx, dword [esp + 0x28]
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x30]
push 1
push 0
call fcn.1003dda0
mov ecx, dword [esp + 0x90]
add esp, 0xc
xorps xmm2, xmm2
movss xmm3, dword [ecx + 4]
ucomiss xmm3, xmm2
movss dword [esp + 0x24], xmm3
lahf
test ah, 0x44
jp 0x1008331e
movss xmm3, dword [esp + 0x30]
movss dword [esp + 0x24], xmm3
movss xmm1, dword [ecx]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10083331
movss xmm1, dword [esp + 0x2c]
movss xmm5, dword [esi + 0xcc]
lea ecx, [esp + 0x38]
addss xmm5, dword [esi + 0xf0]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm4
movss dword [esp + 0x40], xmm4
addss xmm0, xmm1
movss dword [esp + 0x64], xmm4
movaps xmm1, xmm5
movss dword [esp + 0x18], xmm5
addss xmm1, xmm3
movss dword [esp + 0x68], xmm5
movss dword [esp + 0x6c], xmm0
subss xmm0, xmm4
movss dword [esp + 0x70], xmm1
subss xmm1, xmm5
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm1
xorps xmm1, xmm1
call fcn.1003a030
cmp dword [esp + 0x1c], 0
mov eax, dword [0x1010223c]
movss xmm4, dword [esi + 0x3c]
movss dword [esp + 0x38], xmm4
mov eax, dword [eax + 0x199c]
movss xmm0, dword [eax + 0x214]
subss xmm0, dword [eax + 0xc]
movss dword [esp + 0x20], xmm0
jne 0x100833f7
mov ecx, dword [eax + 0x1bc]
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x100833f7
mov ecx, dword [ecx + 0xc]
inc ecx
call fcn.1004cfb0
mov eax, dword [esp + 0x34]
movss xmm4, dword [esp + 0x38]
subss xmm0, dword [eax + 0x3c]
movss dword [esp + 0x20], xmm0
addss xmm0, dword [esi + 0xc]
movss xmm7, dword [esp + 0x40]
mov ecx, dword [esp + 0x84]
movss xmm1, dword [esp + 0x2c]
subss xmm0, xmm4
movss xmm3, dword [ecx + 4]
subss xmm0, xmm7
maxss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10083432
movss xmm3, dword [esp + 0x24]
movss xmm2, dword [ecx]
mov ecx, dword [esp + 0x80]
and ecx, 0x2000
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10083453
test ecx, ecx
jne 0x10083453
movaps xmm1, xmm2
movss xmm6, dword [esp + 0x18]
movaps xmm5, xmm7
ucomiss xmm2, xmm0
addss xmm5, xmm1
addss xmm6, xmm3
lahf
test ah, 0x44
jnp 0x10083471
test ecx, ecx
je 0x10083475
addss xmm5, xmm4
movss xmm4, dword [edi + 0x1544]
lea ecx, [esp + 0x54]
movss xmm3, dword [edi + 0x1548]
movaps xmm0, xmm4
mulss xmm0, dword [0x100f5b64]
mov edx, ebx
push 0
movss xmm1, dword [esp + 0x1c]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100f5b64]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm4, xmm2
subss xmm3, xmm0
subss xmm7, xmm2
subss xmm1, xmm0
addss xmm4, xmm5
addss xmm3, xmm6
movss dword [esp + 0x58], xmm7
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x64], xmm3
call fcn.1003a1b0
add esp, 4
test al, al
jne 0x10083525
cmp dword [esp + 0x1c], 0
je 0x10083510
cmp dword [esi + 0x1bc], 0
je 0x10083510
call fcn.1004d4d0
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100afa20
add esp, 0x6c
ret
mov ecx, dword [esp + 0x80]
and ecx, 0x400
mov eax, dword [esp + 0x80]
add ecx, ecx
mov edx, ecx
or edx, 4
test dword [esp + 0x80], 0x800
cmove edx, ecx
mov ecx, edx
or ecx, 8
test dword [esp + 0x80], 0x1000
cmove ecx, edx
and eax, 8
mov edx, ecx
mov dword [esp + 0x18], eax
or edx, 0x100
test eax, eax
movzx eax, byte [esp + 0x15]
cmove edx, ecx
xor ecx, ecx
cmp dword [esp + 0x18], ecx
cmove ecx, eax
lea eax, [esp + 0x17]
mov dword [esp + 0x40], ecx
mov ecx, edx
or ecx, 0x12
test byte [esp + 0x80], 4
cmove ecx, edx
mov edx, ebx
push ecx
push eax
lea eax, [esp + 0x1d]
push eax
lea ecx, [esp + 0x60]
call fcn.1006f0b0
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
jne 0x100835c0
mov al, byte [esp + 0x15]
test al, al
je 0x10083609
cmp byte [edi + 0x1b0f], 0
jne 0x100835f3
cmp dword [edi + 0x1aac], esi
jne 0x100835f3
mov eax, dword [edi + 0x1b04]
cmp eax, dword [esi + 0x134]
jne 0x100835f3
mov byte [edi + 0x1b0e], 1
mov ecx, ebx
mov edx, dword [esi + 0x134]
call fcn.10039bd0
cmp byte [esp + 0x16], 0
je 0x10083601
mov ecx, ebx
call fcn.10039f70
mov al, byte [esp + 0x15]
test al, al
jne 0x10083614
cmp byte [esp + 0x40], 0
je 0x100836bb
cmp byte [esp + 0x17], 0
je 0x10083626
test al, al
je 0x10083626
mov ecx, 0x1b
jmp 0x10083630
xor ecx, ecx
test al, al
setne cl
add ecx, 0x19
mov eax, dword [0x1010223c]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 + 0x15a8]
lea ecx, [esp + 0x40]
movups xmmword [esp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x1500]
movss dword [esp + 0x4c], xmm0
call fcn.10036860
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x1010223c]
push 0xf
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x199c]
push ecx
mov dword [esp], 0
push eax
mov ecx, dword [ecx + 0x274]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], edx
push eax
call fcn.10062a10
push 0xa
mov edx, ebx
lea ecx, [esp + 0x58]
call fcn.10038b40
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x100836f3
cmp dword [esi + 0x1bc], 0
je 0x100836f3
call fcn.1004d4d0
lea ecx, [esp + 0x40]
call fcn.100465b0
movss xmm0, dword [esp + 0x5c]
movss xmm1, dword [eax]
subss xmm1, dword [esp + 0x20]
subss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x10083708
lea edx, [edi + 0x15b8]
xor ecx, ecx
call fcn.10045640
lea eax, [esp + 0x54]
push eax
lea eax, [edi + 0x1584]
push eax
lea eax, [esp + 0x34]
push eax
push 0
push dword [esp + 0x38]
lea edx, [esp + 0x80]
lea ecx, [esp + 0x78]
call fcn.10038440
add esp, 0x14
test ebx, ebx
je 0x10083740
mov ecx, 1
call fcn.10045690
cmp byte [esp + 0x16], 0
je 0x10083884
test dword [esi + 8], 0x4000000
je 0x10083884
test byte [esp + 0x80], 1
jne 0x10083884
test byte [esi + 0x168], 0x20
jne 0x10083884
mov edi, dword [0x1010223c]
mov ecx, dword [edi + 0x1a34]
lea esi, [ecx - 1]
test esi, esi
js 0x10083884
cmp esi, dword [edi + 0x1a28]
jge 0x10083884
mov eax, dword [edi + 0x1a30]
lea ebx, [esi + esi*8]
shl ebx, 2
add eax, ebx
mov dword [esp + 0x40], eax
cmp esi, ecx
jl 0x100837c0
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call ebp
add esp, 0xc
mov eax, dword [edi + 0x1a3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + eax]
cmp eax, dword [ecx]
jne 0x10083884
test esi, esi
jle 0x1008386a
nop dword [eax]
cmp esi, dword [edi + 0x1a28]
jl 0x100837fc
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call ebp
add esp, 0xc
mov eax, dword [edi + 0x1a30]
lea edx, [esi - 1]
mov dword [esp + 0x40], edx
mov ebp, dword [ebx + eax + 4]
cmp edx, dword [edi + 0x1a28]
jl 0x10083831
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call dword [sym.imp.ucrtbased.dll__wassert]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov eax, dword [edi + 0x1a30]
lea ecx, [ebx - 0x24]
mov ebx, ecx
mov eax, dword [ecx + eax + 4]
test ebp, ebp
je 0x1008386a
test dword [ebp + 8], 0x10000000
je 0x1008386a
test eax, eax
je 0x1008385a
test dword [eax + 8], 0x8000000
jne 0x1008386a
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
mov esi, edx
test esi, esi
jg 0x100837e0
mov dl, 1
mov ecx, esi
call fcn.100484a0
mov eax, dword [edi + 0x1aac]
test eax, eax
je 0x10083884
mov byte [eax + 0x144], 1
mov ecx, dword [esp + 0x74]
mov al, byte [esp + 0x16]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100afa20
add esp, 0x6c
ret