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

Disassembly:
sub esp, 0x74
push ebx
mov ebx, dword [esp + 0x7c]
push ebp
mov ebp, ecx
mov dword [esp + 0x10], edx
push esi
xor esi, esi
mov dword [esp + 0xc], ebp
xor ecx, ecx
mov eax, dword [ebp]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
nop dword [eax + eax]
mov al, byte [edi]
test al, al
je 0x1017c73c
mov byte [ebx + 0x18], al
mov dl, byte [edi]
movsx eax, dl
add eax, 0xffffff9f
cmp eax, 0x18
ja case.0x1017c525.100
movzx eax, byte [eax + 0x1017caa0]
jmp dword [eax*4 + 0x1017ca80]
cmp dword [esp + 0x18], 0
je 0x1017c719
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 8]
mov dword [ecx], eax
jmp 0x1017c719
cmp dword [esp + 0x18], 0
je 0x1017c719
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 4]
mov dword [ecx], eax
jmp 0x1017c719
cmp dword [esp + 0x18], 0
je 0x1017c719
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
test ecx, ecx
jne 0x1017c58b
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14]
call fcn.10173140
mov esi, eax
test esi, esi
jne 0x1017c5fb
mov ecx, dword [esp + 0x14]
push 0
push ecx
call fcn.10107a90
push 0
push dword [esp + 0x20]
mov edi, eax
call fcn.101079e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1017c5ef
lea eax, [esp + 0x40]
add edi, esi
push eax
mov edx, edi
mov ecx, esi
call fcn.101663e0
mov ecx, dword [esp + 0x48]
add esp, 4
add esi, eax
test ecx, ecx
jl 0x1017c5ef
mov eax, dword [esp + 0x40]
jg 0x1017c5d0
test eax, eax
je 0x1017c5ef
cmp esi, edi
ja 0x1017c5ef
mov edi, dword [esp + 0x8c]
xor esi, esi
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x30], eax
mov dword [ecx], eax
jmp 0x1017c719
mov edi, dword [esp + 0x8c]
mov esi, 0x10b
mov ecx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [ecx], eax
jmp 0x1017c719
cmp dword [esp + 0x18], 0
je 0x1017c719
test ecx, ecx
jne 0x1017c62f
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14]
call fcn.10173140
mov esi, eax
test esi, esi
jne 0x1017c6aa
mov ecx, dword [esp + 0x14]
push 0
push ecx
call fcn.10107a90
push 0
push dword [esp + 0x20]
mov edi, eax
call fcn.101079e0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1017c657
mov esi, 0x10b
jmp 0x1017c712
lea eax, [esp + 0x48]
add edi, esi
push eax
mov edx, edi
mov ecx, esi
call fcn.101663e0
mov ecx, dword [esp + 0x50]
add esp, 4
lea ebp, [eax + esi]
test ecx, ecx
jl 0x1017c69e
mov eax, dword [esp + 0x48]
jg 0x1017c67f
test eax, eax
je 0x1017c69e
cmp ebp, edi
ja 0x1017c69e
mov dword [esp + 0x3c], edi
xor esi, esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebp
jmp 0x1017c6ae
mov edi, dword [esp + 0x8c]
mov esi, 0x10b
mov ebp, dword [esp + 0x20]
test esi, esi
jne 0x1017ca77
xor edi, edi
cmp dword [ebx + 4], edi
jle 0x1017c70e
nop dword [eax]
lea edx, [esp + 0x58]
mov ecx, ebp
call fcn.101662c0
add ebp, eax
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x3c]
ja 0x1017c9d1
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x34]
call fcn.1018c270
push dword [esp + 0x24]
add eax, dword [esp + 0x5c]
push dword [esp + 0x2c]
adc edx, 0
push edx
push eax
call fcn.1018c270
mov ecx, dword [ebx + 0x1c]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, dword [ebx + 4]
jl 0x1017c6c0
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x8c]
mov dl, byte [edi]
mov ecx, ebx
call fcn.1017c180
mov ecx, dword [esp + 0x14]
inc edi
shl eax, 2
add dword [ebx + 0x1c], eax
mov dword [esp + 0x8c], edi
test esi, esi
je 0x1017c500
push ecx
call fcn.101064b0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
mov edi, dword [ebp + 0x20]
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, 0x15
mov ebp, dword [ebp + 0x24]
push 0
push eax
mov dword [esp + 0x34], 0
call fcn.10172e90
mov esi, eax
add esp, 8
test esi, esi
jne 0x1017c7c3
push ebp
push edi
mov edi, dword [esp + 0x34]
push 1
push edi
mov dword [esp + 0x3c], edi
call fcn.101087a0
push edi
call fcn.101074b0
add esp, 0x14
cmp eax, 0x64
jne 0x1017c7aa
push esi
push edi
call fcn.10108180
add esp, 8
cmp eax, 4
je 0x1017c7cb
push edi
call fcn.101064b0
mov esi, eax
add esp, 4
test esi, esi
mov eax, 0x10b
cmove esi, eax
xor edi, edi
jmp 0x1017c7c7
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
test esi, esi
jne 0x1017c833
push esi
push edi
call fcn.101079e0
push esi
push edi
mov ebp, eax
call fcn.10107a90
add eax, ebp
xor edi, edi
add esp, 0x10
mov dword [esp + 0x30], eax
cmp dword [ebx + 4], edi
jle 0x1017c833
nop
lea ecx, [esp + 0x60]
mov edx, eax
push ecx
mov ecx, ebp
call fcn.101663e0
add ebp, eax
add esp, 4
cmp ebp, dword [esp + 0x30]
ja 0x1017c82e
mov ecx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x60]
mov dword [ecx + edi*4], eax
inc edi
mov eax, dword [esp + 0x30]
cmp edi, dword [ebx + 4]
jl 0x1017c7f0
push dword [esp + 0x2c]
call fcn.101064b0
add esp, 4
jmp 0x1017c70e
mov esi, 0x10b
push dword [esp + 0x2c]
call fcn.101064b0
add esp, 4
jmp 0x1017c70e
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], ebp
mov ebp, dword [edi]
mov dword [esp + 0x30], 0
cmp ebp, 5
je 0x1017c8af
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x68]
push eax
push 0x1017b160
lea edx, [esp + 0x38]
call fcn.1017b0a0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1017c70e
cmp ebp, 2
je 0x1017c8c3
mov ecx, dword [edi + 0x10]
lea eax, [esp + 0x68]
push eax
push 0x1017b160
lea edx, [esp + 0x38]
call fcn.1017b0a0
add esp, 8
mov esi, eax
jmp 0x1017c8c3
mov eax, dword [edi + 0x14]
xor esi, esi
mov dword [esp + 0x6c], 1
mov eax, dword [eax + 0x40]
mov dword [esp + 0x70], eax
test esi, esi
jne 0x1017c70e
mov ebp, dword [esp + 0x10]
mov edx, ebx
mov ecx, ebp
call fcn.1017c220
mov esi, eax
jmp 0x1017c712
mov ecx, ebx
call fcn.1017c180
shl eax, 2
push eax
push 0
push dword [ebx + 0x1c]
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp + 0x10]
add esp, 0xc
mov edx, ebx
call fcn.1017bed0
mov esi, eax
jmp 0x1017c719
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], ebp
mov ebp, dword [edi]
mov dword [esp + 0x30], 0
cmp ebp, 5
je 0x1017c9db
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x74]
push eax
push 0x1017b160
lea edx, [esp + 0x38]
call fcn.1017b0a0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1017c971
cmp ebp, 2
je 0x1017c971
mov ecx, dword [edi + 0x10]
lea eax, [esp + 0x74]
push eax
push 0x1017b160
lea edx, [esp + 0x38]
call fcn.1017b0a0
add esp, 8
mov esi, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test esi, esi
jne 0x1017c712
cmp dword [esp + 0x18], esi
je 0x1017ca62
cmp dword [ebp + 0x1c], esi
je 0x1017ca37
test ecx, ecx
jne 0x1017c9b3
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14]
call fcn.10173140
mov esi, eax
test esi, esi
jne 0x1017c712
mov ecx, dword [esp + 0x14]
push 0
push ecx
call fcn.10107a90
push 0
push dword [esp + 0x20]
mov ebp, eax
call fcn.101079e0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1017c9f1
mov esi, 0x10b
jmp 0x1017c70e
mov eax, dword [edi + 0x14]
xor esi, esi
mov dword [esp + 0x78], 1
mov eax, dword [eax + 0x40]
mov dword [esp + 0x7c], eax
jmp 0x1017c975
lea eax, [esp + 0x50]
add ebp, esi
push eax
mov edx, ebp
mov ecx, esi
call fcn.101663e0
mov ecx, dword [esp + 0x58]
add esp, 4
add esi, eax
test ecx, ecx
jl 0x1017ca26
mov eax, dword [esp + 0x50]
jg 0x1017ca18
test eax, eax
je 0x1017ca26
cmp esi, ebp
ja 0x1017ca26
mov dword [ebx + 0x10], eax
xor esi, esi
mov dword [ebx + 0x14], ecx
jmp 0x1017ca2b
mov esi, 0x10b
mov ebp, dword [esp + 0x10]
test esi, esi
jne 0x1017c712
push ebx
mov edx, 0x1017c030
mov ecx, edi
call fcn.1017b100
add esp, 4
mov dword [esp + 0x30], eax
lea edx, [esp + 0x30]
mov ecx, ebp
call fcn.1016dee0
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x1017c712
push ebx
mov edx, 0x1017c0d0
mov ecx, edi
call fcn.1017b100
add esp, 4
jmp 0x1017c712
mov ebp, dword [esp + 0x10]
jmp 0x1017c719