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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x40], edi
mov ebx, dword [edi + 0x30]
mov eax, dword [edi + 4]
and ebx, 0x20
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ebx
call fcn.6709f460
mov byte [esp + 0x12], al
test al, al
je 0x670ad74d
cmp byte [esp + 0x5c], 0
jne 0x670ad749
cmp byte [edi + 0x78], 0
je 0x670ad758
mov cl, 1
jmp 0x670ad75a
cmp byte [esp + 0x5c], 0
je 0x670ad758
test ebx, ebx
je 0x670ad749
xor cl, cl
mov edx, dword [edi + 0x48]
xorps xmm0, xmm0
mov ebp, dword [esp + 0x50]
mov ebx, ebp
mov dword [esp + 0x3c], edx
mov edx, dword [edi + 0x4c]
mov byte [esp + 0x10], cl
mov dword [esp + 0x38], edx
movlpd qword [esp + 0x30], xmm0
mov byte [esp + 0x13], 1
mov byte [esp + 0x11], 0
mov dword [esp + 0x20], ebx
test al, al
je 0x670ad7a3
cmp byte [edi + 0x78], 0
je 0x670ad7a3
mov eax, dword [edi + 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x74]
mov dword [esp + 0x28], eax
jmp 0x670ad7b9
movlpd qword [esp + 0x44], xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
jmp 0x670ad7df
mov eax, dword [esp + 0x50]
test cl, cl
lea ecx, [edi + 0x40]
je 0x670ad7f8
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
push eax
push ebp
call fcn.670ad3bd
jmp 0x670ad800
push esi
push eax
push ebp
call fcn.670adb64
test edx, edx
jl 0x670ad83b
jg 0x670ad80a
test eax, eax
je 0x670ad83b
add dword [esp + 0x24], eax
adc dword [esp + 0x28], edx
cmp byte [esp + 0x12], 0
jne 0x670ad81f
add dword [edi + 0x48], eax
adc dword [edi + 0x4c], edx
add dword [esp + 0x54], eax
mov ecx, dword [esp + 0x50]
adc dword [esp + 0x14], edx
add ebp, eax
sub ecx, eax
mov dword [esp + 0x50], ecx
sbb esi, edx
mov dword [esp + 0x18], esi
jmp 0x670ad83f
mov ecx, dword [esp + 0x50]
test esi, esi
jl 0x670ada27
jg 0x670ad851
test ecx, ecx
je 0x670ada27
cmp byte [esp + 0x11], 0
jne 0x670ada27
cmp byte [esp + 0x12], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x44], xmm0
jne 0x670ad8a0
mov edx, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
cmp edx, dword [edi + 0x50]
jne 0x670ad87c
cmp ecx, dword [edi + 0x54]
je 0x670ad8a0
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
call eax
test al, al
jne 0x670ad8a0
or dword [esp + 0x44], 0xffffffff
or dword [esp + 0x48], 0xffffffff
jmp 0x670ada1d
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x13], 0
test eax, eax
jne 0x670ad948
mov eax, dword [edi + 0x68]
cdq
cmp esi, edx
jl 0x670ad96a
mov ecx, dword [esp + 0x50]
jg 0x670ad8cb
cmp ecx, eax
jb 0x670ad96a
mov eax, dword [esp + 0x2c]
cmp byte [esp + 0x10], 0
jne 0x670ad94e
mov edx, dword [esp + 0x1c]
push esi
push ecx
push ebp
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0x60]
call eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
cmp eax, ecx
jne 0x670ad8ff
mov byte [esp + 0x11], 0
cmp edx, esi
je 0x670ad904
mov byte [esp + 0x11], 1
test edx, edx
jl 0x670ada1d
jg 0x670ad916
test eax, eax
je 0x670ada13
add dword [esp + 0x54], eax
adc dword [esp + 0x14], edx
add ebp, eax
sub ecx, eax
mov dword [esp + 0x50], ecx
sbb esi, edx
cmp byte [esp + 0x12], 0
mov dword [esp + 0x18], esi
jne 0x670ada13
add dword [edi + 0x48], eax
adc dword [edi + 0x4c], edx
add dword [edi + 0x50], eax
adc dword [edi + 0x54], edx
jmp 0x670ada13
mov ecx, dword [esp + 0x50]
jmp 0x670ad8cf
test eax, eax
je 0x670ad96a
mov eax, dword [edi + 0x68]
cdq
cmp edx, esi
jl 0x670ad96a
jg 0x670ad960
cmp eax, ecx
jb 0x670ad96a
mov eax, ecx
mov dword [esp + 0x30], ecx
mov ebx, esi
jmp 0x670ad974
mov eax, dword [edi + 0x68]
cdq
mov dword [esp + 0x30], eax
mov ebx, edx
mov ecx, dword [esp + 0x1c]
push ebx
push eax
mov ecx, dword [ecx]
mov esi, dword [ecx + 0x60]
mov ecx, dword [edi + 0x40]
call fcn.670376ac
mov ecx, dword [esp + 0x1c]
push ebx
push dword [esp + 0x34]
push eax
call esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
cmp eax, esi
jne 0x670ad9ac
mov byte [esp + 0x11], 0
cmp edx, ebx
je 0x670ad9b1
mov byte [esp + 0x11], 1
lea eax, [esp + 0x44]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x34]
movlpd qword [esp + 0x34], xmm0
push eax
call fcn.670ac6b6
pop ecx
pop ecx
mov ecx, dword [edi + 0x40]
sub esi, dword [eax]
sbb ebx, dword [eax + 4]
push ebx
push esi
call sym.Ordinal_2483
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
test edx, edx
jl 0x670ada0b
jg 0x670ad9ec
test eax, eax
je 0x670ada0b
cmp byte [esp + 0x12], 0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov cl, byte [esp + 0x10]
jne 0x670ad7db
add dword [edi + 0x50], eax
adc dword [edi + 0x54], edx
jmp 0x670ada83
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
test edx, edx
jg 0x670ada27
jl 0x670ada1d
test eax, eax
jae 0x670ada27
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x14]
je 0x670ada8c
test byte [edi + 0x30], 0x10
je 0x670ada93
cmp ebx, ebp
jae 0x670ada93
mov dword [esp + 0x30], ebp
jmp 0x670ada3c
inc ebx
cmp ebx, ebp
je 0x670ada41
cmp byte [ebx], 0xd
jne 0x670ada37
mov eax, ebx
cmp ebx, ebp
jae 0x670ada7d
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
mov cl, byte [ebx]
inc ebx
cmp cl, 0xd
je 0x670ada5c
mov byte [eax], cl
inc eax
jmp 0x670ada6d
add dword [esp + 0x54], 0xffffffff
adc dword [esp + 0x14], 0xffffffff
dec ebp
add edx, 1
adc esi, 0
cmp ebx, edi
jb 0x670ada4f
mov edi, dword [esp + 0x40]
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], esi
mov ebx, ebp
mov dword [esp + 0x20], ebx
mov cl, byte [esp + 0x10]
jmp 0x670ad7db
or eax, 0xffffffff
or edx, eax
jmp 0x670adb03
cmp byte [esp + 0x10], 0
je 0x670adac1
cmp byte [esp + 0x5c], 0
je 0x670adab1
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x4c], eax
jmp 0x670adad9
mov eax, dword [esp + 0x24]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x74], eax
jmp 0x670adad9
cmp byte [esp + 0x5c], 0
je 0x670adad9
mov eax, dword [esp + 0x38]
mov ecx, edi
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.670ae408
cmp byte [esp + 0x13], 0
je 0x670adafb
mov ecx, edi
call fcn.6709f411
test al, al
je 0x670adafb
mov eax, dword [esp + 0x1c]
mov ecx, eax
push 0
push 0
push ebp
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x10