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

Disassembly:
sub esp, 0x38
push ebx
mov ebx, dword [esp + 0x48]
push ebp
mov ebp, dword [esp + 0x48]
push esi
push edi
mov eax, dword [ebp + 0x16c]
mov dword [ebx + 0x14188], eax
mov ecx, dword [ebp + 0x160]
mov dword [ebx + 0x14138], ecx
mov edx, dword [ebp + 0x14c]
mov dword [ebx + 0x14148], edx
mov eax, dword [ebp + 0x150]
mov dword [ebx + 0x14150], eax
mov ecx, dword [ebp + 0x154]
mov dword [ebx + 0x14154], ecx
mov edx, dword [ebp + 0x15c]
mov dword [ebx + 0x1415c], edx
mov eax, dword [ebp + 0x164]
mov dword [ebx + 0x14140], eax
mov ecx, dword [ebp + 0x168]
mov dword [ebx + 0x14144], ecx
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
cmp esi, ecx
jae 0x1001913a
test esi, esi
je 0x1001913a
mov eax, ecx
xor edx, edx
div esi
mov eax, ecx
test edx, edx
je 0x10019131
xor edx, edx
div esi
mov esi, eax
jmp 0x1001913c
xor edx, edx
div esi
mov esi, eax
dec esi
jmp 0x1001913c
xor esi, esi
mov edi, dword [ebp + 0x24]
cmp edi, ecx
jae 0x10019168
test edi, edi
je 0x10019168
mov eax, ecx
xor edx, edx
div edi
mov eax, ecx
test edx, edx
je 0x1001915d
xor edx, edx
div edi
mov edi, eax
sub edi, esi
jmp 0x1001916a
xor edx, edx
div edi
mov edi, eax
sub edi, esi
dec edi
jmp 0x1001916a
xor edi, edi
sub ecx, esi
mov dword [ebx + 0x14164], edi
sub ecx, edi
mov dword [ebx + 0x14168], edi
dec ecx
mov dword [ebx + 0x14178], esi
mov dword [ebx + 0x1417c], ecx
mov dword [ebx + 0x14180], esi
mov dword [ebx + 0x14184], ecx
mov edx, dword [ebp + 0x150]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x158]
mov dword [esp + 0x1c], ecx
imul edx, ecx
mov ecx, edi
mov eax, esi
imul ecx, dword [ebp + 0x15c]
imul eax, dword [ebp + 0x154]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
add ecx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
add ecx, edx
add ecx, eax
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [ebx + 0x1414c], eax
mov ecx, dword [ebp + 0x14c]
mov dword [esp + 0x24], eax
fild dword [ebp + 0x144]
mov dword [esp + 0x20], ecx
fild qword [esp + 0x20]
fmulp st(1)
fmul qword [0x1008bfa0]
fmul qword [0x1008bfa8]
call fcn.10076958
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x1413c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x24], eax
fild qword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
fild qword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
fild qword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
fmul st(2)
fdiv st(1)
fimul dword [esp + 0x20]
call fcn.10076958
mov dword [ebx + 0x1416c], eax
xor eax, eax
cmp esi, eax
jbe 0x100192a5
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x14]
fild qword [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
fmul st(2)
fild qword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
fmul st(2)
fdivp st(1)
fimul dword [esp + 0x20]
call fcn.10076958
mov dword [ebx + 0x14170], eax
xor eax, eax
jmp 0x100192ab
mov dword [ebx + 0x14170], eax
cmp edi, eax
jbe 0x100192ef
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x18]
fild qword [esp + 0x20]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
fmul st(2)
fild qword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
fmul st(2)
fdivp st(1)
fimul dword [esp + 0x20]
call fcn.10076958
mov dword [ebx + 0x14160], eax
xor eax, eax
jmp 0x100192f5
mov dword [ebx + 0x14160], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jbe 0x10019333
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
fild qword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x54]
fmul st(2)
fild qword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
fmul st(2)
fdivp st(1)
fimul dword [esp + 0x20]
call fcn.10076958
mov ecx, dword [esp + 0x4c]
lea esi, [ebx + 0x28]
mov dword [ebx + 0x14174], eax
xor eax, eax
lea edi, [esi + 4]
mov byte [esi], 0x1f
fstp st(0)
mov dword [edi], 1
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov byte [edi + 0x55], 4
mov byte [edi + 0x54], 4
mov edx, dword [ebp]
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], eax
mov edx, dword [ecx + 0xec]
test dh, 2
fstp st(0)
je 0x10019388
mov dword [edi + 0x14], 1
mov eax, dword [ecx + 0xfc]
mov ecx, dword [eax]
mov dword [edi + 0x28], ecx
jmp 0x1001938b
mov dword [edi + 0x14], eax
mov edx, dword [ebx]
push edi
push ebp
mov ax, word [edx + 4]
mov word [edi + 0x3a], ax
mov ecx, dword [ebx]
mov dx, word [ecx]
mov word [edi + 0x3c], dx
call fcn.10019e50
mov ax, word [edi + 0x3a]
add esp, 8
cmp ax, word [edi + 0x34]
jne 0x100193c8
mov cx, word [edi + 0x3c]
cmp cx, word [edi + 0x36]
jne 0x100193c8
xor ecx, ecx
mov eax, 1
mov dword [edi + 0x18], ecx
jmp 0x100193d2
mov eax, 1
xor ecx, ecx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dl, byte [ebp + 0x90]
mov byte [edi + 0x38], dl
mov dl, byte [ebp + 0x94]
mov byte [edi + 0x39], dl
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 4]
mov dl, byte [edx + 4]
mov byte [edi + 0x48], dl
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 4]
mov dl, byte [edx + 8]
mov byte [edi + 0x4a], 0
mov byte [edi + 0x49], dl
mov byte [edi + 0x4b], 2
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x50], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x78], eax
mov dword [esi + 0x60], ecx
mov edx, dword [ebp + 0x4c]
mov dword [esi + 0x64], edx
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ecx
mov eax, dword [ebp + 0x6c]
mov dword [esi + 0xbb70], eax
mov ecx, dword [ebp + 0x7c]
mov dword [esi + 0x14080], ecx
mov edx, dword [ebp + 0x80]
mov dword [esi + 0x1408c], edx
mov eax, dword [ebp + 0x84]
mov dword [esi + 0x14088], eax
mov ecx, dword [0x1008bf68]
mov edx, dword [0x1008bf6c]
mov dword [esi + 0x14098], ecx
mov dword [esi + 0x1409c], edx
mov eax, dword [ebp + 0x88]
mov dword [esi + 0x140a0], eax
mov ecx, dword [ebp + 0x8c]
mov dword [esi + 0x140a4], ecx
mov edx, dword [ebp + 0x84]
mov dword [esi + 0x14084], edx
lea eax, [esi + 0x140a8]
mov edi, 4
mov cl, byte [0x1008c21c]
mov byte [eax], cl
add eax, 0x18
dec edi
jne 0x10019495
mov edi, dword [esp + 0x58]
mov dword [esi + 0x14078], 3
push edi
push 0x20
call fcn.10040260
add esp, 8
mov dword [esi + 0xd0], eax
push edi
push 0xd0
push eax
call fcn.1000c690
add esp, 0xc
push edi
push 0x20
call fcn.10040260
add esp, 8
mov dword [esi + 0xd8], eax
push edi
push 0x58
push eax
call fcn.1000c690
add esp, 0xc
push edi
push 0x20
call fcn.10040260
add esp, 8
mov dword [esi + 0xd4], eax
push edi
push 2
push eax
call fcn.1000c690
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x34]
xor edx, edx
mov dx, word [esi + 0x3e]
add esp, 0xc
rep stosd dword es:[edi], eax
mov ax, word [esi + 0x40]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x14078]
mov dword [esp + 0x44], edx
push ecx
lea edx, [eax + eax*2]
shl edx, 3
push edx
call fcn.10040260
mov dword [esi + 0x1407c], eax
mov eax, dword [esi + 0x14078]
add esp, 8
xor edi, edi
test eax, eax
jle 0x100195c3
mov edx, dword [ebx]
mov eax, edi
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x50]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x58]
push eax
mov dword [esp + 0x38], edx
push ecx
mov ecx, dword [esi + 0x1407c]
lea edx, [esp + 0x30]
lea eax, [edi + edi*2]
push ebp
push edx
lea edx, [ecx + eax*8]
push esi
push edx
mov dword [esp + 0x54], edi
call fcn.10030960
add esp, 0x18
mov dword [ebx + edi*4 + 0x14], eax
test edi, edi
jne 0x100195b8
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5c]
mov dword [esp + 0x50], edx
mov eax, dword [esi + 0x14078]
inc edi
cmp edi, eax
jl 0x10019556
mov eax, dword [esi + 0x1407c]
mov ecx, dword [eax + 8]
mov dword [esi + 0xc4], ecx
mov edx, dword [eax + 0x20]
mov dword [esi + 0xc8], edx
mov eax, dword [ebp]
test eax, eax
je 0x100195fd
mov edi, dword [esp + 0x58]
lea eax, [esi + 0x14108]
push edi
push ebp
push esi
push eax
call fcn.1002fdf0
add esp, 0x10
mov dword [ebx + 0x20], eax
jmp 0x10019608
mov edi, dword [esp + 0x58]
mov dword [ebx + 0x20], 0
lea ecx, [esi + 0xa598]
push edi
lea edx, [esi + 0x9d94]
push ecx
lea eax, [esi + 0x38f8]
push edx
lea ecx, [esi + 0xdc]
push eax
push ecx
call fcn.10036420
add esp, 0x14
lea edx, [esi + 0xad9c]
add esi, 0x7114
push edi
push edx
push esi
call fcn.100364a0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret