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

Disassembly:
sub esp, 0x3f4
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
push ebx
mov ebx, dword [esp + 0x408]
push ebp
push esi
push edi
push dword [esp + 0x41c]
mov edi, dword [esp + 0x428]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x41c]
mov dword [esp + 0x1c], eax
call fcn.10097390
mov edx, dword [esp + 0x410]
mov ecx, eax
push edx
mov dword [esp + 0x1c], ecx
call fcn.10097390
mov ebp, eax
add esp, 8
mov eax, dword [esp + 0x428]
imul ecx, eax
mov dword [esp + 0x28], ebp
cmp ecx, 0x7fffffff
ja case.0x1009a643.2
mov ecx, ebp
imul ecx, eax
cmp ecx, 0x7fffffff
ja case.0x1009a643.2
mov esi, 0x1038b290
test ebx, ebx
mov eax, esi
cmovne eax, ebx
test edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
cmovne esi, edi
cmp eax, dword [esp + 0x1c]
jne 0x1009a074
cmp dword [esp + 0x14], ebp
jne case.0x1009a643.2
mov ecx, dword [esp + 0x42c]
mov eax, edx
sar eax, 1
cmp eax, 2
jne 0x1009a08c
test ecx, ecx
je case.0x1009a643.2
mov dword [esp + 0x360], 0
lea ebp, [esp + 0x380]
mov dword [esp + 0x340], 0
mov dword [esp + 0x320], 0
cmp eax, 0x12
ja case.0x1009a643.2
jmp dword [eax*4 + 0x1009a750]
mov dword [esp + 0x2a0], 0
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 1
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 3
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 4
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 5
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
lea ebx, [esp + 0x2a4]
jmp 0x1009a281
mov dword [esp + 0x2a0], 7
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 8
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 9
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xa
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xb
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xc
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xd
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xe
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 0xf
lea ebx, [esp + 0x2a4]
jmp 0x1009a28c
mov dword [esp + 0x2a0], 2
lea ebx, [esp + 0x2a4]
mov dword [esp + 0x380], ecx
lea ebp, [esp + 0x384]
jmp 0x1009a28c
mov dword [esp + 0x2a4], 0x19
lea ebx, [esp + 0x2b0]
mov dword [esp + 0x380], 0x1038b2ac
lea ebp, [esp + 0x38c]
mov dword [esp + 0x2a8], 0x1a
mov dword [esp + 0x384], 0x1038b2ac
mov dword [esp + 0x2ac], 0x1b
mov dword [esp + 0x388], 0x1038b2ac
mov dword [esp + 0x2a0], 6
cmp edx, 0x1a
je 0x1009a296
cmp edx, 0x1c
jne 0x1009a29f
mov dword [ebx], 0x11
add ebx, 4
test dl, 1
je 0x1009a2ad
mov dword [ebx], 0x10
add ebx, 4
mov edx, dword [esp + 0x41c]
sar edx, 1
mov dword [esp + 0x24], edx
cmp edx, 1
jne 0x1009a2ff
movups xmm0, xmmword [0x1038b53c]
mov eax, dword [0x1038b55c]
lea edi, [esp + 0x74]
mov ecx, 0x8b
rep movsd dword es:[edi], dword [esi]
movups xmmword [esp + 0xf0], xmm0
mov byte [esp + 0xec], dl
lea esi, [esp + 0x74]
movups xmm0, xmmword [0x1038b54c]
mov dword [esp + 0x110], eax
movups xmmword [esp + 0x100], xmm0
mov edi, dword [esp + 0x10]
cmp dword [edi + 8], 0x434d594b
jne 0x1009a314
mov dword [ebx], 0x12
jmp 0x1009a332
mov eax, dword [esp + 0x410]
test eax, eax
jne 0x1009a327
mov dword [ebx], 0x13
jmp 0x1009a332
cmp eax, 2
jne 0x1009a335
mov dword [ebx], 0x15
add ebx, 4
cmp esi, edi
je 0x1009a5f6
cmp byte [esi + 0x14], 0
je case.0x1009a643.2
cmp byte [esi + 0x78], 0
je case.0x1009a643.2
cmp dword [esi + 0x18], 0
jne case.0x1009a643.2
cmp dword [esi + 0x38], 0
jne case.0x1009a643.2
cmp dword [esi + 0x58], 0
jne case.0x1009a643.2
lea eax, [esp + 0x324]
push eax
lea eax, [esi + 0x1c]
push eax
call fcn.10099a80
add esp, 8
test al, al
je case.0x1009a643.2
lea eax, [esp + 0x344]
push eax
lea eax, [esi + 0x3c]
push eax
call fcn.10099a80
add esp, 8
test al, al
je case.0x1009a643.2
lea eax, [esp + 0x364]
push eax
lea eax, [esi + 0x5c]
push eax
call fcn.10099a80
add esp, 8
test al, al
je case.0x1009a643.2
lea eax, [esp + 0x50]
add esi, 0x7c
push eax
push esi
mov dword [esp + 0x28], esi
call fcn.10099310
add esp, 8
test al, al
je case.0x1009a643.2
cmp byte [edi + 0xa0], 0
je 0x1009a511
mov ecx, dword [edi + 0xa4]
lea eax, [edi + 0xa4]
test ecx, ecx
je 0x1009a454
xor esi, esi
test ecx, ecx
jle 0x1009a43e
add edi, 0xa8
nop dword [eax]
push esi
push edi
call fcn.10098cd0
add esp, 8
test edx, edx
je 0x1009a429
mov dword [ebx], eax
add ebx, 4
mov dword [ebp], edx
add ebp, 4
mov eax, dword [esp + 0x10]
inc esi
add eax, 0xa4
add edi, 0x20
cmp esi, dword [eax]
jl 0x1009a410
mov edi, dword [esp + 0x10]
mov dword [ebx], 0x11
mov dword [ebx + 4], 0x2d
add ebx, 8
mov dword [ebp], eax
add ebp, 4
cmp dword [edi + 0x134], 3
jne 0x1009a4c6
xor esi, esi
add edi, 0x138
push esi
push edi
call fcn.10098cd0
add esp, 8
test edx, edx
je 0x1009a47e
mov dword [ebx], eax
add ebx, 4
mov dword [ebp], edx
add ebp, 4
inc esi
add edi, 0x20
cmp esi, 3
jl 0x1009a465
mov edi, dword [esp + 0x10]
mov ecx, 0x1038b758
add edi, 0x198
mov esi, 0x2c
mov edx, edi
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1009a4b3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1009a4a0
jmp 0x1009a4c2
mov dword [ebx], 0x17
add ebx, 4
mov dword [ebp], edi
add ebp, 4
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x1c8], 3
jne 0x1009a4fd
xor esi, esi
add edi, 0x1cc
push esi
push edi
call fcn.10098cd0
add esp, 8
test edx, edx
je 0x1009a4f0
mov dword [ebx], eax
add ebx, 4
mov dword [ebp], edx
add ebp, 4
inc esi
add edi, 0x20
cmp esi, 3
jl 0x1009a4d7
mov edi, dword [esp + 0x10]
cmp dword [edi + 0xc], 0x4c616220
jne 0x1009a556
mov dword [ebx], 0x18
add ebx, 4
jmp 0x1009a556
cmp byte [edi + 0x14], 0
je case.0x1009a643.2
cmp byte [edi + 0x78], 0
je case.0x1009a643.2
xor esi, esi
add edi, 0x18
nop word [eax + eax]
push esi
push edi
call fcn.10098cd0
add esp, 8
test edx, edx
je 0x1009a549
mov dword [ebx], eax
add ebx, 4
mov dword [ebp], edx
add ebp, 4
inc esi
add edi, 0x20
cmp esi, 3
jl 0x1009a530
mov edi, dword [esp + 0x10]
cmp byte [edi + 0xa0], 0
mov esi, 0x1038b788
jne 0x1009a567
lea esi, [edi + 0x7c]
mov edi, dword [esp + 0x20]
mov ecx, esi
mov edx, 0x20
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x1009a585
add edi, 4
add ecx, 4
sub edx, 4
jae 0x1009a572
jmp 0x1009a5c3
push esi
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.10099190
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x50]
mov dword [ebx], 0x16
add ebx, 4
mov dword [ebp], eax
add ebp, 4
xor esi, esi
lea edi, [esp + 0x320]
nop dword [eax]
push esi
push edi
call fcn.10098cd0
add esp, 8
test edx, edx
je 0x1009a5e9
mov dword [ebx], eax
add ebx, 4
mov dword [ebp], edx
add ebp, 4
inc esi
add edi, 0x20
cmp esi, 3
jl 0x1009a5d0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x41c]
cmp ecx, 0x1e
jge 0x1009a60b
mov dword [ebx], 0x11
add ebx, 4
mov eax, dword [esp + 0x420]
test eax, eax
jne 0x1009a61e
mov dword [ebx], 0x13
jmp 0x1009a629
cmp eax, 2
jne 0x1009a62c
mov dword [ebx], 0x14
add ebx, 4
test cl, 1
je 0x1009a63a
mov dword [ebx], 0x10
add ebx, 4
cmp edx, 0x12
ja case.0x1009a643.2
jmp dword [edx*4 + 0x1009a79c]
mov dword [ebx], 0x2e
jmp 0x1009a701
mov dword [ebx], 0x2f
jmp 0x1009a701
mov dword [ebx], 0x30
jmp 0x1009a701
mov dword [ebx], 0x31
jmp 0x1009a701
mov dword [ebx], 0x32
jmp 0x1009a701
mov dword [ebx], 0x33
jmp 0x1009a701
mov dword [ebx], 0x34
jmp 0x1009a701
mov dword [ebx], 0x35
jmp 0x1009a701
mov dword [ebx], 0x36
jmp 0x1009a701
mov dword [ebx], 0x37
jmp 0x1009a701
mov dword [ebx], 0x38
jmp 0x1009a701
mov dword [ebx], 0x39
jmp 0x1009a701
mov dword [ebx], 0x3a
jmp 0x1009a701
mov dword [ebx], 0x3b
jmp 0x1009a701
mov dword [ebx], 0x3c
jmp 0x1009a701
mov dword [ebx], 0x19
mov dword [ebp], 0x1038b6ec
mov dword [ebx + 4], 0x1a
mov dword [ebp + 4], 0x1038b6ec
mov dword [ebx + 8], 0x1b
mov dword [ebp + 8], 0x1038b6ec
mov dword [ebx + 0xc], 0x33
push dword [esp + 0x14]
lea eax, [esp + 0x384]
push dword [esp + 0x2c]
push dword [esp + 0x430]
push dword [esp + 0x24]
push dword [esp + 0x2c]
push eax
lea eax, [esp + 0x2b8]
push eax
call fcn.10098c00
add esp, 0x1c
mov al, 1
jmp 0x1009a736
xor al, al
mov ecx, dword [esp + 0x400]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x3f4
ret