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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x24]
mov bl, byte [esi + 0x98]
test ecx, ecx
je 0x10099416
mov dword [esp + 0xdc], 0
lea edx, [esp + 0xb8]
mov eax, dword [ecx]
push edx
call dword [eax]
mov edi, dword [ebp + 0xc]
mov ecx, eax
mov dword [esp + 0xdc], ecx
xorps xmm0, xmm0
mov dword [esp + 0x40], edi
mov byte [esp + 0x74], 0
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0x44], xmm0
movups xmmword [esp + 0x54], xmm0
movups xmmword [esp + 0x64], xmm0
test ecx, ecx
je 0x100991ff
mov eax, dword [ecx]
lea edx, [esp + 0x78]
push edx
call dword [eax]
mov dword [esp + 0x9c], eax
push 9
lea ecx, [esp + 0xb4]
mov byte [esp + 0xa4], bl
mov byte [esp + 0xac], 9
call fcn.1009a430
lea eax, [esp + 0xf]
mov byte [esp + 0xf], 1
push eax
lea ecx, [esp + 0x54]
call fcn.1009aa60
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x1009924f
mov edx, dword [ecx]
lea eax, [esp + 0xb8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call fcn.1009c960
cmp byte [esp + 0x74], 0
je 0x1009933e
push 9
lea ecx, [esp + 0x1c]
mov byte [esp + 0x14], 9
call fcn.1009a430
mov cl, byte [edi]
mov al, byte [esp + 0x10]
mov byte [edi], al
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x24], cl
push dword [esp + 0x24]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x20]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.100994c0
push dword [esp + 0xa8]
lea ecx, [esp + 0xb4]
call fcn.100994c0
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x100992ea
mov edx, dword [ecx]
lea eax, [esp + 0x78]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esp + 0x9c], 0
lea ecx, [esp + 0x60]
call fcn.10005f70
lea ecx, [esp + 0x50]
call fcn.10005f70
mov edx, dword [esp + 0x44]
test edx, edx
je 0x10099335
mov ecx, dword [esp + 0x4c]
sub ecx, edx
mov eax, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1009932b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099410
push ecx
push edx
call fcn.1010fd52
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [edi], 9
jne 0x1009938c
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x14], 0
call fcn.1009a430
mov cl, byte [edi]
mov al, byte [esp + 0x10]
mov byte [edi], al
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x24], cl
push dword [esp + 0x24]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x20]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.100994c0
push dword [esp + 0xa8]
lea ecx, [esp + 0xb4]
call fcn.100994c0
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x100993c7
mov edx, dword [ecx]
lea eax, [esp + 0x78]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esp + 0x9c], 0
lea ecx, [esp + 0x60]
call fcn.10005f70
lea ecx, [esp + 0x50]
call fcn.10005f70
mov edx, dword [esp + 0x44]
test edx, edx
je 0x10099335
mov ecx, dword [esp + 0x4c]
sub ecx, edx
mov eax, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1009932b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009932b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov edi, dword [ebp + 0xc]
lea eax, [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x28], edi
push eax
mov ecx, esi
mov byte [esp + 0x40], 0
movups xmmword [esp + 0x30], xmm0
mov byte [esp + 0x41], bl
call fcn.1009dbb0
cmp byte [esp + 0x3c], 0
je 0x1009949f
push 9
lea ecx, [esp + 0x1c]
mov byte [esp + 0x14], 9
call fcn.1009a430
mov cl, byte [edi]
mov al, byte [esp + 0x10]
mov byte [edi], al
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x24], cl
push dword [esp + 0x24]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x20]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.100994c0
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10099335
mov ecx, dword [esp + 0x34]
jmp 0x10099308
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10099335
mov ecx, dword [esp + 0x34]
jmp 0x100993e9