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

Disassembly:
mov eax, 0x3894
call fcn.102ddfa0
mov eax, dword [0x10411ce0]
xor eax, esp
mov dword [esp + 0x3890], eax
mov eax, dword [esp + 0x38a0]
push ebx
push ebp
mov ebp, dword [esp + 0x38a0]
push esi
mov esi, dword [esp + 0x38a8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38b0]
mov dword [esp + 0x60], eax
mov ax, word [ebp + 0xa]
movzx ecx, word [esi + 0x28c8]
shr ax, 3
mov dword [esp + 0x40], esi
movzx ebx, ax
mov dword [esp + 0x34], ecx
test cx, cx
jne 0x1017ae08
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x3890]
xor ecx, esp
call fcn.102d6d23
add esp, 0x3894
ret
mov al, byte [esi + 0x28ca]
test al, al
jne 0x1017ae2c
pop esi
pop ebp
mov al, 0xa
pop ebx
mov ecx, dword [esp + 0x3890]
xor ecx, esp
call fcn.102d6d23
add esp, 0x3894
ret
movzx eax, al
cmp cx, ax
jb 0x1017ae12
movzx ecx, byte [esi + 2]
xor eax, eax
mov word [esp + 0x388c], ax
mov edx, 1
mov eax, ecx
push edi
cmp dx, ax
jae 0x1017ae78
add esi, 5
lea edx, [esp + 0x3892]
dec eax
movzx edi, ax
lea ecx, [ecx]
movzx eax, byte [esi]
lea esi, [esi + 1]
imul ax, bx
lea edx, [edx + 2]
add ax, word [edx - 4]
mov word [edx - 2], ax
dec edi
jne 0x1017ae60
cmp byte [ebp + 6], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
je 0x1017aea7
mov edx, 0x10348b2c
mov al, 0x16
jmp 0x1017aeae
mov edx, 0x10348b24
mov al, 6
movzx eax, al
xor esi, esi
mov dword [esp + 0x24], edx
cmp si, ax
jae 0x1017b566
mov di, word [esp + 0x20]
mov esi, eax
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x2c], esi
nop
mov bh, byte [edx]
xor al, al
mov byte [esp + 0x11], bh
mov byte [esp + 0x13], al
cmp byte [ebp], al
jbe 0x1017b3a1
movzx eax, al
xor bl, bl
mov dword [esp + 0x70], eax
lea edx, [eax*2 + 0x792]
add edx, ebp
lea eax, [eax*2 + 0x790]
add eax, ebp
mov dword [esp + 0x4c], edx
mov dword [esp + 0x7c], eax
movzx eax, word [edx]
movzx edx, word [ebp + 0x7f8]
mov byte [esp + 0x12], bl
cmp ax, dx
jae 0x1017af1d
mov edx, eax
mov eax, dword [esp + 0x7c]
movzx esi, bl
mov dword [esp + 0x78], esi
movzx eax, word [eax]
sub edx, eax
lea eax, [esi*4]
cmp eax, edx
jge 0x1017b386
xor eax, eax
xor edx, edx
mov dword [esp + 0x30], eax
cmp dx, cx
jae 0x1017b37b
lea ecx, [ecx]
movzx eax, ax
xor edx, edx
lea ecx, [eax + ebp]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x54], ecx
cmp byte [ecx + 0x1e7a], dl
jbe 0x1017b361
lea ecx, [esp + 0x3890]
mov esi, eax
lea ecx, [ecx + eax*2]
shl esi, 4
mov dword [esp + 0x88], ecx
sub esi, eax
mov cl, byte [esp + 0x13]
movzx ecx, cl
shl esi, 3
mov word [esp + 0x2a], cx
mov dword [esp + 0x60], esi
jmp 0x1017afa0
movzx eax, dx
add eax, esi
cmp word [ebp + eax*2 + 0xbba], cx
ja 0x1017b348
cmp word [ebp + eax*2 + 0x133a], cx
jbe 0x1017b348
mov bl, byte [eax + ebp + 0x7fa]
mov byte [esp + 0x8c], bl
test bl, bl
je 0x1017afd8
cmp bl, 0xb
jbe 0x1017afe4
mov al, bl
sub al, 0x10
cmp al, 0xf
ja 0x1017b348
cmp bh, 0xb
jae 0x1017affe
cmp bl, bh
je 0x1017b00b
movzx ecx, bh
inc ecx
movzx eax, bl
cmp eax, ecx
jne 0x1017b343
jmp 0x1017b00b
cmp bl, bh
sete al
test al, al
je 0x1017b348
mov eax, dword [esp + 0x70]
add eax, esi
lea ecx, [eax*2 + 0x10]
mov ax, word [ebp + eax*2 + 0x12]
sub ax, word [ecx + ebp]
add ecx, ebp
movzx esi, ax
cmp bl, 5
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], ecx
setb cl
movzx eax, byte [eax + 5]
shl eax, 2
lea ecx, [ecx*2 + 2]
cdq
mov dword [esp + 0x80], ecx
movzx ecx, cl
idiv ecx
mov cl, byte [ebp + 0x28ca]
movzx eax, ax
mov dword [esp + 0x40], eax
movzx eax, bl
mov dl, byte [eax + 0x10348b44]
movzx eax, cl
cmp dl, cl
mov dword [esp + 0x18], eax
mov ecx, eax
movzx eax, dl
mov edx, dword [esp + 0x40]
cmovb ecx, eax
xor ebp, ebp
mov dword [esp + 0x18], ecx
xor eax, eax
mov byte [esp + 0x6c], cl
mov dword [esp + 0x58], ebp
cmp ax, dx
jae 0x1017b337
movzx ecx, dx
imul ecx, dword [esp + 0x78]
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], ecx
movzx eax, bp
add eax, ecx
cmp eax, esi
jge 0x1017b333
movzx ecx, byte [esp + 0x12]
mov eax, dword [esp + 0x80]
imul cx, dx
movzx eax, al
add cx, bp
imul cx, ax
mov eax, dword [esp + 0x74]
add cx, word [eax]
mov eax, dword [esp + 0x88]
add cx, word [eax]
cmp word [esp + 0x34], 0
movzx ecx, cx
mov dword [esp + 0x5c], ecx
jne 0x1017b2ed
mov eax, dword [esp + 0x18]
movzx ecx, al
movzx eax, di
add ecx, eax
mov eax, dword [esp + 0x38]
movzx eax, ax
cmp ecx, eax
jg 0x1017b177
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x2090]
push dword [esp + 0x68]
movzx eax, ax
push dword [esp + 0x70]
lea eax, [eax + eax*2]
lea esi, [esi + eax*4]
push esi
call fcn.1017acf0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
movzx eax, al
add di, ax
mov eax, dword [esp + 0x68]
movzx eax, ax
mov word [esp + 0x2c], di
lea eax, [ecx + eax*2]
push eax
push esi
push dword [esp + 0xa0]
call fcn.1017d4c0
mov al, byte [esi + 8]
add esp, 0x18
test al, al
je 0x1017b16a
push eax
lea eax, [esi + 4]
push esi
push eax
call fcn.1017b590
add esp, 0xc
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
jmp 0x1017b319
mov eax, dword [esp + 0x38]
cmp di, ax
jae 0x1017b2b4
push dword [esp + 0x68]
mov bh, al
lea edi, [esp + 0x2094]
mov eax, dword [esp + 0x20]
sub bh, byte [esp + 0x24]
movzx eax, ax
mov byte [esp + 0x88], bh
push dword [esp + 0x88]
lea ebp, [eax + eax*2]
shl ebp, 2
add edi, ebp
push edi
call fcn.1017acf0
lea esi, [esp + 0x20a4]
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
mov al, byte [esi - 0xc]
add byte [esi], al
mov al, byte [edi + 8]
test al, al
je 0x1017b1e2
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.1017b590
add esp, 0xc
mov al, byte [esi - 0xc]
lea esi, [edi - 0xc]
mov dword [esp + 0x34], eax
cmp al, 0x20
jle 0x1017b27f
sub al, 0x20
movzx eax, al
push eax
push esi
call fcn.1017d980
add eax, dword [esp + ebp + 0x209c]
add esp, 8
mov dword [esp + ebp + 0x2088], eax
mov al, byte [esi + 8]
cmp al, 0x20
jg 0x1017b242
jl 0x1017b22c
movsx ecx, al
mov eax, dword [esi]
sub ecx, 0x20
shr eax, cl
mov ecx, dword [edi]
add ecx, eax
mov dword [esi], ecx
jmp 0x1017b29b
movsx eax, al
mov ecx, 0x20
sub ecx, eax
mov eax, dword [esi]
shl eax, cl
mov ecx, dword [edi]
add ecx, eax
mov dword [esi], ecx
jmp 0x1017b29b
movsx edx, al
lea eax, [edx - 0x20]
cmp eax, 0x20
jge 0x1017b26f
or eax, 0xffffffff
mov ecx, 0x40
sub ecx, edx
shr eax, cl
and eax, dword [esi + 4]
shl eax, cl
lea ecx, [edx - 0x20]
mov edx, dword [esi]
shr edx, cl
mov ecx, dword [edi]
or eax, edx
add ecx, eax
mov dword [esi], ecx
jmp 0x1017b29b
mov eax, dword [esi + 4]
lea ecx, [edx - 0x40]
shr eax, cl
mov ecx, dword [edi]
add ecx, eax
mov dword [esi], ecx
jmp 0x1017b29b
push eax
push esi
call fcn.1017d980
add esp, 8
add eax, dword [edi]
mov dword [esi], eax
mov eax, dword [esp + ebp + 0x2094]
mov dword [esp + ebp + 0x2088], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
add al, bh
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
mov byte [ecx - 0xc], al
mov eax, dword [esp + 0x38]
movzx eax, ax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov di, word [esp + 0x20]
mov dword [esp + 0x34], 1
mov word [esp + 0x92], ax
mov byte [esp + 0x90], bl
mov byte [esp + 0x91], 0
mov byte [esp + 0x9c], 0
jmp 0x1017b319
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x1c]
movzx eax, ax
add eax, eax
mov word [esp + eax*8 + 0x92], cx
mov byte [esp + eax*8 + 0x90], bl
mov byte [esp + eax*8 + 0x91], 0
mov byte [esp + eax*8 + 0x9c], 0
inc dword [esp + 0x14]
inc ebp
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x58], ebp
cmp bp, dx
jb 0x1017b0a3
mov bh, byte [esp + 0x11]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
mov cx, word [esp + 0x2a]
mov eax, dword [esp + 0x54]
inc edx
mov dword [esp + 0x3c], edx
movzx eax, byte [eax + 0x1e7a]
cmp dx, ax
jb 0x1017afa0
mov eax, dword [esp + 0x30]
movzx ecx, byte [ebp + 2]
inc eax
mov dword [esp + 0x30], eax
cmp ax, cx
jb 0x1017af50
mov bl, byte [esp + 0x12]
mov edx, dword [esp + 0x4c]
inc bl
jmp 0x1017af08
mov al, byte [esp + 0x13]
add al, 1
mov byte [esp + 0x13], al
cmp al, byte [ebp]
jb 0x1017aee5
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
inc edx
dec esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], esi
jne 0x1017aed0
mov esi, dword [esp + 0x1c]
test si, si
je 0x1017b566
mov eax, dword [esp + 0x14]
movzx ebx, ax
mov eax, ebx
movzx ecx, si
cdq
idiv ecx
mov edx, 1
mov dword [esp + 0x48], ebx
movzx eax, ax
mov dword [esp + 0x18], ecx
cmp dx, ax
ja 0x1017b562
xor edx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
xor edi, edi
cmp di, si
jae 0x1017b551
mov eax, ebx
mov dword [esp + 0x14], edi
sub eax, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], eax
jmp 0x1017b410
xor ebx, ebx
movzx ebp, dx
movzx eax, bx
add eax, edi
movzx esi, bp
cdq
idiv ecx
movzx ecx, dx
cmp esi, dword [esp + 0x4c]
jge 0x1017b4fe
shl esi, 4
lea eax, [esp + 0x91]
add eax, esi
mov dword [esp + 0x50], eax
cmp byte [eax], 0
jne 0x1017b4eb
mov eax, ecx
lea edi, [eax + eax*2]
shl edi, 2
cmp byte [esp + edi + 0x2098], 0
jle 0x1017b4e7
cmp byte [esp + esi + 0x9c], 0
je 0x1017b482
lea eax, [esp + 0x94]
add eax, esi
push eax
lea eax, [esp + 0x2094]
add eax, edi
push eax
call fcn.1017ac50
add esp, 8
mov al, byte [esp + edi + 0x2098]
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x11], al
lea eax, [esp + 0x2090]
add edi, eax
movzx eax, word [esp + esi + 0x92]
lea eax, [ecx + eax*2]
push eax
movzx eax, byte [esp + esi + 0x94]
push edi
push eax
call fcn.1017d4c0
add esp, 0xc
test al, al
js 0x1017b4c5
mov eax, dword [esp + 0x50]
mov byte [eax], 1
jmp 0x1017b4e7
movq xmm0, qword [edi]
mov eax, dword [edi + 8]
movq qword [esp + esi + 0x94], xmm0
mov dword [esp + esi + 0x9c], eax
mov al, byte [esp + 0x11]
mov byte [esp + esi + 0x9c], al
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
inc ebx
mov ecx, dword [esp + 0x18]
inc ebp
cmp bx, si
jb 0x1017b415
mov ecx, dword [esp + 0x18]
inc edi
dec dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], edi
jne 0x1017b410
lea esi, [esp + 0x2098]
mov edi, ecx
mov edi, edi
mov al, byte [esi]
test al, al
je 0x1017b537
push eax
lea eax, [esi - 8]
push eax
lea eax, [esi - 4]
push eax
call fcn.1017b590
add esp, 0xc
add esi, 0xc
dec edi
jne 0x1017b520
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
add edx, esi
dec eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], eax
jne 0x1017b3f0
xor al, al
jmp 0x1017b568
mov al, 0xa
mov ecx, dword [esp + 0x38a0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.102d6d23
add esp, 0x3894
ret