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

Disassembly:
mov eax, dword [edi + 0x78]
sub esp, 0x38
test eax, eax
push ebx
push ebp
push esi
je 0x1017620d
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [eax + 8], ecx
je 0x10175daf
mov esi, dword [ecx]
jmp 0x10175db1
xor esi, esi
test esi, esi
mov dword [esp + 0x10], esi
je 0x1017620d
or edx, 0xffffffff
cmp dword [esi + 4], edx
jne 0x1017620d
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10175dfd
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10175dfd
mov ecx, dword [ecx]
test ecx, ecx
je 0x10175e22
cmp dword [ecx + 4], edx
jne 0x10175e1e
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10175df2
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov eax, dword [eax + 8]
test eax, eax
je 0x10175e01
mov esi, dword [eax]
jmp 0x10175e03
xor ecx, ecx
jmp 0x10175e22
xor esi, esi
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10175e1c
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10175e1c
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10175de0
jmp 0x10175e1e
xor ecx, ecx
mov dword [esp + 0x10], esi
test ecx, ecx
mov ebp, dword [edi + 0x24]
mov dword [esp + 0x14], ebp
je 0x10175e3f
cmp dword [ecx + 4], ebp
lea eax, [ecx + 4]
jge 0x10175e39
lea eax, [esp + 0x14]
mov ebp, dword [eax]
mov dword [esp + 0x14], ebp
test esi, esi
je 0x1017620d
mov eax, dword [esi]
call fcn.100df1b0
cmp eax, edi
je 0x10175e83
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10175e62
mov edx, dword [ecx + 4]
mov dword [eax + 8], edx
mov eax, dword [eax + 8]
test eax, eax
je 0x10175e76
mov eax, dword [eax]
mov esi, eax
mov dword [esp + 0x10], esi
jmp 0x10176205
xor eax, eax
mov esi, eax
mov dword [esp + 0x10], esi
jmp 0x10176205
mov esi, dword [esi]
mov eax, dword [esi]
mov edx, dword [eax + 0x220]
mov ecx, esi
call edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x21c]
mov ecx, esi
call edx
add ebx, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x19c]
mov ecx, esi
call edx
add eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x24c]
mov ecx, edi
call edx
mov ebx, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x234]
mov ecx, edi
call edx
add ebx, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x14c]
mov ecx, edi
mov dword [esp + 0x28], ebx
call edx
mov ebx, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x24c]
add ebx, dword [esp + 0x28]
mov ecx, edi
call edx
mov dword [esp + 0x28], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x234]
mov ecx, edi
call edx
mov ecx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
add eax, 0x10
mov eax, ebx
sub eax, ecx
cmp eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edx
jge 0x10175f25
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x19c]
mov ecx, esi
call edx
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x198]
mov ecx, esi
call edx
mov dword [esp + 0x20], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x190]
mov ecx, esi
call edx
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x18c]
mov ecx, esi
call edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov eax, dword [esi + 4]
test byte [eax + 0x13], 1
je 0x10175fa3
mov eax, edi
call fcn.10176fa0
mov dword [esp + 0x24], eax
cmp eax, ebp
lea eax, [esp + 0x14]
jl 0x10175f9d
lea eax, [esp + 0x24]
mov ebp, dword [eax]
mov dword [esp + 0x14], ebp
mov ecx, dword [esi + 4]
test byte [ecx + 0x13], 2
je 0x10175fc9
mov eax, edi
call fcn.10177040
mov dword [esp + 0x24], eax
cmp eax, ebp
lea eax, [esp + 0x14]
jl 0x10175fc3
lea eax, [esp + 0x24]
mov ebp, dword [eax]
mov dword [esp + 0x14], ebp
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x10]
and eax, 0x30000000
push 0
cmp eax, 0x10000000
mov eax, 1
push ebp
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
jne 0x101760c1
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x2c]
call fcn.1030ad1f
push 0
push ebp
mov dword [esp + 0x20], eax
push edi
lea edx, [esp + 0x30]
mov eax, ebx
call fcn.1030ad1f
sub eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x1c]
jge 0x10176066
lea ebx, [ebx]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x20]
lea eax, [esp + 0x24]
jl 0x10176032
lea eax, [esp + 0x20]
add ebp, dword [eax]
mov eax, dword [esp + 0x28]
push 0
push ebp
push edi
lea edx, [esp + 0x2c]
call fcn.1030ad1f
push 0
push ebp
mov dword [esp + 0x20], eax
push edi
lea edx, [esp + 0x30]
mov eax, ebx
call fcn.1030ad1f
sub eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x1c]
jl 0x10176020
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
lea eax, [esp + 0x18]
jg 0x1017607d
lea eax, [esp + 0x28]
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov dword [ebx + 0xc], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x21c]
mov ecx, esi
mov dword [esp + 0x28], eax
call edx
add eax, ebp
push eax
mov eax, dword [esi]
mov edx, dword [eax + 0x224]
mov ecx, esi
call edx
add eax, dword [esp + 0x1c]
mov ecx, esi
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x180]
call edx
jmp 0x101761a0
lea edx, [esp + 0x30]
mov eax, ebx
call fcn.1030ad1f
push 0
push ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
push edi
lea edx, [esp + 0x2c]
call fcn.1030ad1f
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp ecx, dword [esp + 0x1c]
jge 0x10176138
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x20]
lea eax, [esp + 0x24]
jl 0x10176102
lea eax, [esp + 0x20]
add ebp, dword [eax]
push 0
push ebp
push edi
lea edx, [esp + 0x30]
mov eax, ebx
call fcn.1030ad1f
push 0
push ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
push edi
lea edx, [esp + 0x2c]
call fcn.1030ad1f
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp ecx, dword [esp + 0x1c]
jl 0x101760f0
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0x10
cmp dword [eax], edx
lea ecx, [esp + 0x18]
jl 0x1017614d
mov ecx, eax
mov ebx, dword [ecx]
mov edx, dword [esp + 0x10]
mov ecx, ebx
sub ecx, dword [eax]
mov dword [edx + 0xc], ecx
mov eax, dword [esi]
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x228]
mov ecx, esi
call eax
mov edx, dword [esp + 0x28]
sub ebx, eax
mov eax, dword [edx + 0x21c]
mov ecx, esi
call eax
mov edx, dword [esi]
add eax, ebp
push eax
mov eax, dword [edx + 0x198]
mov ecx, esi
call eax
mov edx, dword [esp + 0x2c]
sub ebx, eax
mov eax, dword [edx + 0x180]
push ebx
mov ecx, esi
call eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
add ecx, ebp
mov dword [ebx + 4], ebp
mov dword [ebx + 8], ecx
mov edx, dword [esi + 8]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x101761c1
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x2c]
jmp 0x101761c3
xor eax, eax
mov ecx, dword [eax + 0x2c]
cmp byte [ecx], 0
jne 0x101761e2
test byte [esi + 0x1b], 0x20
jne 0x101761e2
mov edx, dword [esi]
mov edx, dword [edx + 0x268]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call edx
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x101761f2
mov ecx, dword [ecx + 4]
mov dword [eax + 8], ecx
mov eax, dword [eax + 8]
test eax, eax
je 0x101761fd
mov eax, dword [eax]
jmp 0x101761ff
xor eax, eax
mov esi, eax
mov dword [esp + 0x10], eax
test esi, esi
jne 0x10175e47
pop esi
pop ebp
pop ebx
add esp, 0x38
ret