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

Disassembly:
sub esp, 0x34
mov eax, dword [0x10291440]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push esi
mov esi, dword [esp + 0x44]
push edi
mov edi, dword [esp + 0x44]
mov eax, dword [esi + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 6
ja case.0x1017b768.3
jmp dword [ecx*4 + 0x1017ba78]
mov cl, byte [esi + 0x6c]
cmp cl, 2
je 0x1017b7a1
push eax
movzx eax, cl
push eax
push str.unexpected_msg_type__d_in_state__d
push edi
call fcn.100d0920
add esp, 0x10
mov eax, 0xffff8701
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
lea eax, [esp + 0x18]
push eax
push esi
push edi
call fcn.1017bcc0
add esp, 0xc
test eax, eax
jne 0x1017ba64
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + 0x94]
test eax, eax
jne 0x1017b7e7
push ebx
push esi
push edi
call fcn.1017b6e0
add esp, 0xc
test eax, eax
je 0x1017b836
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
push 0
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x18]
push eax
push edi
call fcn.101af100
add esp, 0x14
test eax, eax
jne 0x1017b851
mov eax, dword [esp + 0xc]
lea ecx, [eax - 1]
cmp ecx, 2
ja 0x1017b842
push ebx
push esi
push edi
mov dword [esi + 0x14], eax
call fcn.1017b630
add esp, 0xc
test eax, eax
jne 0x1017ba64
push eax
push eax
push esi
push edi
call fcn.1017c1e0
add esp, 0x10
test eax, eax
jne 0x1017ba64
mov dword [esi + 0x1c], 7
jmp case.0x1017b768.3
push eax
push str.Cant_support_confirmed_version__lu
push edi
call fcn.100d0920
add esp, 0xc
pop edi
pop esi
mov eax, 0xffff8701
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
mov cl, byte [esi + 0x6c]
cmp cl, 2
jne 0x1017b777
mov ebx, dword [edi + 0x80]
lea eax, [esp + 0x18]
push eax
push esi
push edi
call fcn.1017bcc0
add esp, 0xc
test eax, eax
jne 0x1017ba64
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x1017b8ed
push dword [esi + 0x94]
push esi
push edi
call fcn.1017b6e0
add esp, 0xc
test eax, eax
jne 0x1017ba64
mov edx, dword [ebx + 0xe0]
mov ecx, edx
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1017b8c0
sub ecx, ebx
lea eax, [ecx + 1]
push eax
push edx
push esi
push edi
call fcn.1017c360
add esp, 0x10
test eax, eax
jne 0x1017ba64
mov eax, 7
mov dword [esi + 0x1c], eax
jmp case.0x1017b768.3
push 0
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.101af1e0
add esp, 0x14
test eax, eax
jne 0x1017b974
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp edx, 3
ja 0x1017b91f
cmp eax, 3
jb 0x1017b91f
mov eax, 3
jmp 0x1017b927
lea ecx, [eax - 1]
cmp ecx, 2
ja 0x1017b964
mov dword [esp + 0xc], eax
mov dword [esi + 0x14], eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x10]
push eax
push edi
call fcn.101af0c0
push 5
lea eax, [esp + 0x44]
push eax
push esi
push edi
call fcn.1017c1e0
add esp, 0x1c
test eax, eax
jne 0x1017ba64
mov eax, 6
mov dword [esi + 0x1c], eax
jmp case.0x1017b768.3
push eax
push edx
push str.No_available_version_between__lu_and__lu
push edi
call fcn.100d0920
add esp, 0x10
pop edi
pop esi
mov eax, 0xffff8701
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
mov cl, byte [esi + 0x6c]
cmp cl, 2
jne 0x1017b777
mov ecx, dword [esi + 0x94]
mov eax, dword [esi + 0x98]
push ecx
push esi
push edi
mov byte [eax + ecx - 1], 0
call fcn.1017b630
add esp, 0xc
test eax, eax
jne 0x1017ba64
mov dword [esi + 0x1c], 7
jmp case.0x1017b768.3
movzx ecx, byte [esi + 0x6c]
mov eax, ecx
sub eax, 1
je 0x1017ba21
sub eax, 2
je 0x1017b9ff
sub eax, 1
je case.0x1017b768.3
push ecx
push str.unexpected_msg_type_rcvd_in_ready_state:__d
push edi
call fcn.100d0920
add esp, 0xc
mov eax, 0xffff8701
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
push dword [esi + 0x78]
push edi
call fcn.1017a6c0
add esp, 8
test eax, eax
je 0x1017ba59
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret
push esi
push edi
call fcn.1017c0a0
add esp, 8
test eax, eax
jne 0x1017ba64
cmp dword [esi + 0x7c], 0
jbe 0x1017ba41
push dword [esi + 0x78]
push edi
call fcn.100dc7e0
add esp, 8
cmp dword [esi + 0x98], 0
jbe 0x1017ba59
push dword [esi + 0x94]
push edi
call fcn.100dc7e0
add esp, 8
push esi
call fcn.1012db60
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1021eb98
add esp, 0x34
ret