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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x58]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x68]
push edi
push esi
push eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.100668b0
mov edi, dword [esp + 0x78]
mov ebx, esi
push edi
push dword [esp + 0x78]
mov dword [esp + 0x34], eax
and ebx, 0x7e000000
lea eax, [esp + 0x58]
mov dword [esp + 0x30], edx
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x3c], ebx
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x48], 0
push eax
call fcn.100668b0
mov ebp, dword [esp + 0x60]
add esp, 0x28
or eax, edx
jne 0x10066b91
mov ecx, dword [esp + 0x74]
cmp ebx, 0x7e000000
jne 0x10066a50
or dword [ecx], 1
mov eax, edi
and eax, 0x7c000000
cmp eax, 0x7c000000
jne 0x10066a85
and edi, 0x7e000000
cmp edi, 0x7e000000
jne 0x10066a6f
or dword [ecx], 1
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
and edx, 0xfdffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edx, edi
mov eax, esi
and eax, 0x78000000
xor ebx, ebx
and edx, 0x78000000
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], ebx
cmp edx, 0x78000000
jne 0x10066af7
cmp eax, edx
jne 0x10066add
mov edx, esi
mov dword [esp + 0x68], ebx
and edx, 0x7c000000
cmp edx, 0x78000000
jne 0x10066ad0
or dword [ecx], 1
mov edx, 0x7c000000
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x60], ebx
jmp 0x10066bb8
xor edi, esi
and edi, 0xf8000000
or edi, 0x78000000
xor eax, eax
mov edx, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edx, esi
mov dword [esp + 0x68], ebx
and edx, 0x7c000000
cmp eax, 0x78000000
je 0x10066b1c
mov eax, ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
or eax, ebp
je 0x10066abe
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
cmp eax, 0x78000000
je 0x10066bb8
mov eax, esi
mov ecx, esi
and eax, 0x60000000
cmp eax, 0x60000000
jne 0x10066b46
shr ecx, 0x13
jmp 0x10066b49
shr ecx, 0x15
mov eax, dword [esp + 0x28]
and ecx, 0x3ff
sub eax, ecx
xor edi, edi
add eax, 0x18e
and esi, 0x80000000
cmp eax, 0x2ff
jle 0x10066b70
mov eax, 0x2ff
jmp 0x10066b77
xor ecx, ecx
test eax, eax
cmovs eax, ecx
xor edi, dword [esp + 0x44]
xor esi, dword [esp + 0x48]
cdq
shl eax, 0x15
or esi, eax
mov eax, edi
pop edi
mov edx, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edx, esi
mov dword [esp + 0x68], 0
mov eax, esi
mov dword [esp + 0x60], 0
and edx, 0x7c000000
and eax, 0x78000000
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
or ebx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
jne 0x10066c44
cmp dword [esp + 0x68], 0
jne 0x10066bfd
cmp edx, 0x7c000000
jne 0x10066bfd
cmp dword [esp + 0x24], 0
jne 0x10066beb
cmp ecx, 0x7e000000
jne 0x10066beb
mov esi, dword [esp + 0x74]
or dword [esi], 1
pop edi
and ebp, 0xfdffffff
mov eax, ebx
pop esi
mov edx, ebp
pop ebp
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x60], 0
jne 0x10066c1f
cmp eax, 0x78000000
jne 0x10066c1f
xor edi, esi
and edi, 0x80000000
xor eax, eax
mov edx, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
xor edx, dword [esp + 0x48]
or dword [esi], 4
xor eax, dword [esp + 0x44]
or edx, 0x78000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov ebx, dword [esp + 0x28]
sub ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
add ebx, 0x18e
mov edi, dword [esp + 0x34]
mov dword [esp + 0x1c], ebx
cmp esi, ebp
ja 0x10066e12
jb 0x10066c72
cmp dword [esp + 0x3c], edi
jae 0x10066e12
mov ebx, dword [esp + 0x3c]
mov edx, esi
mov ecx, ebx
call fcn.1006a490
cvtsd2ss xmm0, xmm0
mov edx, ebp
mov ecx, edi
movss dword [esp + 0x60], xmm0
call fcn.1006a490
mov eax, dword [esp + 0x40]
cvtsd2ss xmm0, xmm0
push eax
push ebx
movss dword [esp + 0x70], xmm0
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x68]
shr esi, 0x17
push dword [esi*8 + 0x101ab75c]
push dword [esi*8 + 0x101ab758]
call fcn.100467e0
mov ebp, edx
mov ebx, eax
mov edx, dword [esp + 0x38]
mov ecx, edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebp
call fcn.1006a490
mov ecx, ebx
movsd qword [esp + 0x54], xmm0
sub ecx, edi
mov eax, ebp
mov ecx, dword [esi*4 + 0x101ab4e8]
sbb eax, dword [esp + 0x38]
shr eax, 0x1f
add eax, 0xf
add ecx, eax
shl eax, 4
push 0
push ebp
push 0
mov edi, dword [eax + 0x101ab278]
mov ebx, dword [eax + 0x101ab27c]
push edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ebx
call fcn.100467e0
push 0
push dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov esi, edx
push 0
push edi
call fcn.100467e0
push 0
push dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov ebp, edx
push 0
push ebx
call fcn.100467e0
push 0
push dword [esp + 0x6c]
mov edi, eax
mov ebx, edx
push 0
push dword [esp + 0x34]
add edi, esi
adc ebx, 0
call fcn.100467e0
mov esi, eax
mov eax, edx
add esi, ebp
adc eax, 0
add esi, dword [esp + 0x20]
adc eax, 0
xor ecx, ecx
add eax, edi
mov dword [esp + 0x28], eax
adc ecx, ebx
xor ebx, ebx
mov dword [esp + 0x14], ecx
add ebx, dword [esp + 0x18]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
adc esi, 0
sub eax, dword [esp + 0x24]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x10], esi
movlpd qword [esp + 0x2c], xmm0
mov dword [esp + 0x1c], eax
cmp edi, 0x200000
ja 0x10066de1
jb 0x10066db4
mov eax, dword [esp + 0x34]
test eax, eax
jae 0x10066de5
add dword [esp + 0x54], 1
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x2c]
adc eax, 0
mov dword [esp + 0x58], eax
movsd xmm0, qword [esp + 0x54]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x54], xmm0
jmp 0x1006701c
mov eax, dword [esp + 0x34]
mov ecx, eax
xor edx, edx
and ecx, 1
add ecx, eax
adc edx, edi
add ecx, 2
adc edx, 0
call fcn.1006a490
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
movsd qword [esp + 0x54], xmm0
mov dword [esp + 0x68], eax
jmp 0x1006701c
mov edx, ebp
mov ecx, edi
call fcn.1006a490
mov ecx, dword [esp + 0x3c]
mov edx, esi
or ecx, 1
movsd qword [esp + 0x54], xmm0
call fcn.1006a490
movaps xmm1, xmm0
xorps xmm0, xmm0
divsd xmm1, qword [esp + 0x54]
movlpd qword [esp + 0x60], xmm0
movsd xmm0, qword [0x100784f8]
comisd xmm1, xmm0
movsd qword [esp + 0x2c], xmm1
jb 0x10066e71
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x10066e71
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add esi, 0
adc eax, 0x80000000
jmp 0x10066e79
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
movaps xmm0, xmm1
mov dword [esp + 0x68], eax
call fcn.1006a3e0
add eax, esi
mov ecx, edx
push ebp
adc ecx, dword [esp + 0x6c]
push edi
push ecx
push eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], ecx
call fcn.100467e0
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
sub ecx, eax
mov eax, dword [esp + 0x30]
sbb esi, edx
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x20]
mov ecx, esi
shr eax, 0x14
sub eax, 0x3ff
sar ecx, 0x1f
mov dword [esp + 0x24], eax
mov eax, esi
sar eax, 0x1f
add edx, ecx
mov dword [esp + 0x20], edx
adc dword [esp + 0x68], eax
and ecx, edi
mov edi, dword [esp + 0x60]
and eax, ebp
add edi, ecx
mov dword [esp + 0x60], edi
adc esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jg 0x10066f2c
jl 0x10066ef4
test edi, edi
jne 0x10066f2c
mov esi, dword [esp + 0x74]
add edi, edx
mov eax, dword [esp + 0x28]
adc eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x44]
push esi
push dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x54]
push edi
push ebx
push eax
push ecx
call fcn.10065d10
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov ebx, dword [esp + 0x24]
push 0
push esi
push 0
mov eax, dword [ebx*8 + 0x101ab758]
mov ecx, dword [ebx*8 + 0x101ab75c]
sub eax, edx
sbb ecx, dword [esp + 0x74]
add eax, 0xffffffff
mov eax, 0x10
adc ecx, 0xffffffff
shr ecx, 0x1f
sub eax, ecx
sub eax, dword [ebx*4 + 0x101ab4e8]
mov dword [esp + 0x30], eax
shl eax, 4
mov ebp, dword [eax + 0x101ab278]
mov ebx, dword [eax + 0x101ab27c]
push ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], ebx
call fcn.100467e0
push 0
push edi
push 0
push ebp
mov dword [esp + 0x24], eax
mov esi, edx
call fcn.100467e0
push 0
mov dword [esp + 0x14], eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
push eax
push 0
push ebx
call fcn.100467e0
mov ecx, dword [esp + 0x60]
mov edi, eax
push 0
push ecx
add edi, esi
mov ebx, edx
mov esi, dword [esp + 0x20]
push 0
push esi
adc ebx, 0
call fcn.100467e0
push dword [esp + 0x68]
add eax, ebp
mov ecx, edx
push dword [esp + 0x24]
adc ecx, 0
add eax, dword [esp + 0x1c]
push esi
push dword [esp + 0x38]
adc ecx, 0
xor edx, edx
add ecx, edi
mov dword [esp + 0x38], ecx
adc edx, ebx
xor ebx, ebx
add ebx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
adc eax, 0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], eax
call fcn.100467e0
mov esi, dword [esp + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x28]
or ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ebp
jne 0x10067075
push edi
push dword [esp + 0x38]
push esi
push ebx
call fcn.10046820
mov ecx, dword [esp + 0x38]
mov edi, edx
mov esi, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x34]
mov edx, eax
shld dword [esp + 0x14], edx, 2
push ecx
push eax
push edi
shl edx, 2
push esi
mov dword [esp + 0x30], edx
call fcn.100467e0
sub ebx, eax
sbb dword [esp + 0x10], edx
add ebp, esi
mov edx, dword [esp + 0x68]
adc edx, edi
mov edi, dword [esp + 0x10]
jmp 0x100671fc
mov edx, esi
mov ecx, ebx
call fcn.1006a490
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
movsd qword [esp + 0x2c], xmm0
call fcn.1006a490
movaps xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x10078500]
addsd xmm1, qword [esp + 0x2c]
divsd xmm1, qword [esp + 0x54]
movlpd qword [esp + 0x54], xmm0
movsd xmm0, qword [0x100784f8]
comisd xmm1, xmm0
jb 0x100670e3
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x100670e3
mov eax, dword [esp + 0x54]
add eax, 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
adc eax, 0x80000000
mov dword [esp + 0x20], eax
jmp 0x100670f3
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], eax
movaps xmm0, xmm1
call fcn.1006a3e0
mov ebp, eax
mov ebx, edx
add ebp, dword [esp + 0x28]
push edi
push dword [esp + 0x38]
adc ebx, dword [esp + 0x28]
push ebx
push ebp
call fcn.100467e0
sub dword [esp + 0x60], eax
mov edi, dword [esp + 0x34]
sbb esi, edx
mov ecx, esi
mov eax, esi
sar eax, 0x1f
sar ecx, 0x1f
add ebp, ecx
adc ebx, eax
and eax, dword [esp + 0x38]
and ecx, dword [esp + 0x34]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x38]
shld ebx, edi, 1
add edi, edi
mov dword [esp + 0x14], ebx
mov edx, edi
shld dword [esp + 0x14], edx, 1
add edx, edx
sub ecx, edx
mov dword [esp + 0x20], edx
sbb eax, dword [esp + 0x14]
add dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x20]
adc esi, eax
mov edx, esi
mov dword [esp + 0x10], esi
sar edx, 0x1f
sar esi, 0x1f
mov eax, edx
not eax
and eax, 4
add ebp, eax
mov eax, dword [esp + 0x14]
adc dword [esp + 0x28], 0
and ecx, edx
mov edx, dword [esp + 0x10]
and eax, esi
sub ecx, edi
mov esi, dword [esp + 0x28]
sbb eax, ebx
add dword [esp + 0x60], ecx
adc edx, eax
mov ecx, edx
mov dword [esp + 0x10], edx
sar ecx, 0x1f
mov eax, ecx
sar edx, 0x1f
not eax
and eax, 2
add ebp, eax
adc esi, 0
and edi, ecx
and ebx, edx
sub edi, dword [esp + 0x34]
sbb ebx, dword [esp + 0x38]
add dword [esp + 0x60], edi
mov edi, dword [esp + 0x10]
adc edi, ebx
mov ebx, dword [esp + 0x60]
mov edx, edi
mov ecx, edi
sar edx, 0x1f
sar ecx, 0x1f
mov eax, edx
and eax, dword [esp + 0x34]
and ecx, dword [esp + 0x38]
add ebx, eax
adc edi, ecx
mov dword [esp + 0x10], edi
not edx
xor eax, eax
and edx, 1
add edx, ebp
mov ebp, dword [esp + 0x18]
adc eax, esi
add ebp, edx
mov edx, dword [esp + 0x68]
adc edx, eax
mov eax, ebx
mov dword [esp + 0x68], edx
or eax, edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x60], ebx
je 0x100672e2
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
or dword [esi], 0x20
test ecx, ecx
js 0x10067563
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
je 0x10067264
mov eax, dword [esp + 0x70]
dec eax
cmp eax, 2
jae 0x10067264
mov eax, 3
sub eax, dword [esp + 0x70]
jmp 0x10067268
mov eax, dword [esp + 0x60]
cmp eax, 4
ja case.0x1006726d.2
jmp dword [eax*4 + 0x1006759c]
sar eax, 2
mov ecx, edi
cdq
mov edx, dword [esp + 0x20]
or eax, ebp
and eax, 1
sub edx, eax
mov eax, ebx
sbb dword [esp + 0x14], 0
shld ecx, eax, 2
shl eax, 2
add ebx, eax
mov eax, dword [esp + 0x14]
adc edi, ecx
mov ecx, dword [esp + 0x1c]
shld edi, ebx, 1
add ebx, ebx
sub edx, ebx
sbb eax, edi
add edx, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
adc eax, dword [esp + 0x38]
shr eax, 0x1f
add ebp, eax
jmp 0x100672bf
add ebp, 1
adc edx, 0
push esi
push dword [esp + 0x74]
push edx
push ebp
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.10065b80
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x40], 0
ja 0x100673d8
mov ebx, dword [esp + 0x3c]
jb 0x100672ff
cmp ebx, 0x400
ja 0x100673d8
cmp dword [esp + 0x38], 0
ja 0x100673d8
mov ecx, dword [esp + 0x34]
jb 0x1006731c
cmp ecx, 0x400
ja 0x100673d8
movsx edx, byte [ebx*2 + 0x1019b6d6]
movsx eax, byte [ecx*2 + 0x1019b6d6]
movsx ebx, byte [ebx*2 + 0x1019b6d7]
sub edx, eax
movsx eax, byte [ecx*2 + 0x1019b6d7]
mov ebp, dword [esp + 0x24]
sub ebx, eax
push 0
push dword [esp + 0x6c]
lea ecx, [ebx + ebp]
lea eax, [edx + ebp]
cmp ecx, eax
push 0
cmovge ebx, edx
add ebx, ebp
mov dword [esp + 0x34], ebx
mov esi, dword [ebx*8 + 0x101ab9a0]
push esi
call fcn.100467e0
push 0
push dword [esp + 0x1c]
mov edi, eax
mov ebp, edx
push 0
push esi
call fcn.100467e0
mov eax, dword [esp + 0x28]
xor ebx, ebx
push ebx
push dword [esp + 0x1c]
mov esi, edx
push ebx
push dword [eax*8 + 0x101ab9a4]
call fcn.100467e0
add esi, eax
adc ebx, edx
add esi, edi
mov edi, dword [esp + 0x28]
adc ebx, 0
xor esi, esi
push esi
push dword [esp + 0x6c]
push esi
push dword [edi*8 + 0x101ab9a4]
call fcn.100467e0
mov ecx, dword [edi*4 + 0x101ab958]
add eax, ebx
adc edx, esi
add eax, ebp
adc edx, esi
call fcn.1006a250
mov ebp, eax
mov eax, edx
mov dword [esp + 0x68], eax
jmp 0x10067523
mov ebx, ebp
mov eax, edx
mov esi, ebp
xor edi, edi
shrd ebx, eax, 0x1a
and esi, 0x3ffffff
test ebx, ebx
je 0x1006742c
xor ebp, ebp
mov ecx, ebx
and ecx, 0x7f
add ecx, ebp
mov edx, dword [ecx*8 + 0x10199df0]
mov eax, dword [ecx*8 + 0x10199df4]
add edx, esi
add eax, edi
cmp edx, 0x5f5e100
lea esi, [edx - 0x5f5e100]
lea edi, [eax + 1]
cmovb esi, edx
cmovb edi, eax
shr ebx, 7
sub ebp, 0xffffff80
test ebx, ebx
jne 0x100673f0
mov ebp, dword [esp + 0x18]
mov ecx, esi
test esi, esi
jne 0x10067443
test edi, edi
jne 0x10067441
mov edi, 0x10
mov dword [esp + 0x14], edi
jmp 0x1006749f
mov ecx, edi
xor eax, eax
mov edi, 8
test esi, esi
mov edx, 0x68db8bb
cmovne edi, eax
mov eax, ecx
mul edx
mov dword [esp + 0x14], edi
shr edx, 8
imul eax, edx, 0x2710
sub ecx, eax
jne 0x10067470
add edi, 4
mov dword [esp + 0x14], edi
test ecx, ecx
cmovne edx, ecx
test dl, 1
jne 0x10067497
mov eax, edx
movzx ecx, dl
shr eax, 3
and ecx, 7
movzx eax, byte [eax + 0x1019b1f0]
shr eax, cl
and eax, 3
add edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x1006751f
mov esi, dword [edi*8 + 0x101ab9a0]
push 0
push dword [esp + 0x6c]
push 0
push esi
call fcn.100467e0
push 0
push dword [esp + 0x1c]
mov edi, eax
mov ebp, edx
push 0
push esi
call fcn.100467e0
mov eax, dword [esp + 0x14]
xor ebx, ebx
push ebx
push dword [esp + 0x1c]
mov esi, edx
push ebx
push dword [eax*8 + 0x101ab9a4]
call fcn.100467e0
add esi, eax
adc ebx, edx
add esi, edi
mov edi, dword [esp + 0x14]
adc ebx, 0
xor esi, esi
push esi
push dword [esp + 0x6c]
push esi
push dword [edi*8 + 0x101ab9a4]
call fcn.100467e0
mov ecx, dword [edi*4 + 0x101ab958]
add eax, ebx
adc edx, esi
add eax, ebp
adc edx, esi
call fcn.1006a250
mov ebp, eax
mov eax, edx
mov dword [esp + 0x68], eax
jmp 0x10067523
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x74]
add ecx, edi
test ecx, ecx
js 0x1006755b
push esi
push dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x54]
push ebp
push ecx
mov ecx, dword [esp + 0x60]
xor ecx, dword [esp + 0x58]
push eax
push ecx
call fcn.10065b80
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 0x10]
test eax, eax
jns 0x1006756d
or dword [esi], 0x20
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x48]
push esi
push dword [esp + 0x74]
push edi
push ebx
push dword [esp + 0x78]
push ebp
push ecx
mov ecx, dword [esp + 0x68]
xor ecx, dword [esp + 0x60]
push eax
push ecx
call fcn.100675b0
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret