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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10071850
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x140
mov eax, dword [0x100e1008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movsx esi, byte [0x100e1ac6]
call fcn.10001380
movsx eax, al
add esi, eax
call fcn.10001350
movsx edi, al
call fcn.10001340
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x100e1ac5]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x100e1ac8]
sub eax, edx
je 0x10017eda
cmp dword [ebx + 8], 0
jne 0x10017d4d
xor eax, eax
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x11c], eax
jmp 0x10017d58
xorps xmm0, xmm0
movlpd qword [ebp - 0x120], xmm0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
call fcn.100710a0
sub esp, 8
movsd qword [esp], xmm0
call fcn.10004020
add esp, 8
mov esi, eax
movsx edi, byte [0x100e1ac6]
call fcn.10001380
movsx ecx, al
add edi, ecx
call fcn.10001350
movsx eax, al
shl eax, 1
mov dword [ebp - 0x124], eax
call fcn.10001340
movsx edx, al
mov eax, dword [ebp - 0x124]
imul eax, edx
add edi, eax
movsx ecx, byte [0x100e1ac5]
mov eax, edi
xor edx, edx
div ecx
movsx edx, byte [0x100e1ac8]
sub eax, edx
imul esi, eax
test esi, esi
je 0x10017eda
mov eax, 7
test eax, eax
je 0x10017eda
mov dword [ebp - 0xf0], 0
jmp 0x10017df8
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
movsx esi, byte [0x100e1ac6]
call fcn.10001380
movsx edx, al
add esi, edx
call fcn.10001350
movsx eax, al
imul edi, eax, 3
call fcn.10001340
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x100e1ac5]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x100e1ac8]
sub eax, edx
mov dword [ebp - 0x108], eax
cvtsi2sd xmm0, dword [ebp - 0x108]
mov eax, dword [ebp - 0x108]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100db640]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10004020
add esp, 8
cmp dword [ebp - 0xf0], eax
jge 0x10017eda
mov dword [ebp - 0xf4], 0
jmp 0x10017e8a
cmp dword [ebp - 0xf4], 0x34
jae 0x10017ed5
xor edx, edx
mov byte [ebp - 0xdb], dl
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0xdb]
call fcn.10018270
mov ecx, eax
call fcn.100193b0
test eax, eax
je 0x10017ec1
mov byte [ebp - 0xd9], 1
jmp 0x10017ec8
mov byte [ebp - 0xd9], 0
mov al, byte [ebp - 0xd9]
jmp 0x10018244
jmp 0x10017de9
push 0xc0
lea ecx, [ebp - 0xd8]
call fcn.10018520
lea ecx, [ebp - 0xd8]
call fcn.100184e0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0xfc], 0
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x10c], edx
xor eax, eax
mov byte [ebp - 0xdc], al
lea ecx, [ebp - 0x148]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.10018340
mov ecx, eax
call fcn.10019390
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebx + 8]
add ecx, dword [edx + eax*8 + 0x78]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebx + 8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebx + 8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebx + 8]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0xf8], 0
jmp 0x10017fd6
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
movsx esi, byte [0x100e1ac6]
call fcn.10001380
movsx eax, al
add esi, eax
call fcn.10001350
movsx ecx, al
imul edi, ecx, 0xa
call fcn.10001340
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x100e1ac5]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x100e1ac8]
sub eax, edx
mov dword [ebp - 0x110], eax
cvtsi2sd xmm0, dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100db640]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10004020
add esp, 8
cmp dword [ebp - 0xf8], eax
jge 0x10018107
mov dword [ebp - 0xec], 0
jmp 0x1001806c
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xec]
cmp eax, dword [edx + 0x14]
jae 0x10018102
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebx + 8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0xe8]
mov cl, byte [eax]
mov byte [ebp - 0xdd], cl
add dword [ebp - 0xe8], 1
cmp byte [ebp - 0xdd], 0
jne 0x100180b4
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0xfc]
push ecx
lea ecx, [ebp - 0xd8]
call fcn.10047210
jmp 0x1001805d
jmp 0x10017fc7
mov edx, dword [ebx + 0xc]
push edx
lea ecx, [ebp - 0xd8]
call fcn.100030c0
mov dword [ebp - 0x100], 0
jmp 0x10018131
mov eax, dword [ebp - 0x100]
add eax, 1
mov dword [ebp - 0x100], eax
movsx esi, byte [0x100e1ac6]
call fcn.10001380
movsx ecx, al
add esi, ecx
call fcn.10001350
movsx edx, al
imul edi, edx, 6
call fcn.10001340
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x100e1ac5]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x100e1ac8]
sub eax, edx
mov dword [ebp - 0x118], eax
cvtsi2sd xmm0, dword [ebp - 0x118]
mov eax, dword [ebp - 0x118]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100db640]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10004020
add esp, 8
cmp dword [ebp - 0x100], eax
jge 0x10018232
mov dword [ebp - 0x104], 0
jmp 0x100181c7
cmp dword [ebp - 0x104], 0x15
jae 0x1001822d
xor edx, edx
mov byte [ebp - 0xde], dl
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0xde]
call fcn.10018410
mov ecx, eax
call fcn.10019370
test eax, eax
je 0x100181fe
mov byte [ebp - 0xda], 1
jmp 0x10018205
mov byte [ebp - 0xda], 0
mov cl, byte [ebp - 0xda]
mov byte [ebp - 0xdf], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.10018500
mov al, byte [ebp - 0xdf]
jmp 0x10018244
jmp 0x10018122
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.10018500
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1003c32e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret