Function at 0x10068bc0
Capabilities:
Accept command line arguments
Check if file exists
Move file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x25c
push ebx
push esi
push edi
push 0x10
push 0x100352e8
lea ecx, [esp + 0x210]
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
call fcn.1003ae40
push 0x19
push 0x100352fc
lea ecx, [esp + 0x240]
mov dword [esp + 0x240], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0xf
call fcn.1003ae40
push 0x1d
push 0x10035318
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
call fcn.1003ae40
push 0x27
push 0x10035338
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
push 0xf
push 0x10035360
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 0x23
push 0x10035370
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0xa
push 0x10035394
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0x1e
push 0x100353a0
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x23
push 0x100353c0
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
push 0xb
push 0x100353e4
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 0x14
push 0x100353f0
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
mov dword [esp + 0x148], 0
push 0x16
push 0x10035408
lea ecx, [esp + 0x150]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x26
push 0x10035420
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 0xa
push 0x10035448
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x70]
push ecx
lea eax, [esp + 0x194]
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.100785e0
push 0x1003adf0
push 0xc
push 0x18
lea eax, [esp + 0x7c]
push eax
call fcn.10079b58
push 0xd
push 0x10035454
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
call fcn.1003ae40
push 0x1f
push 0x10035464
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
push 0x22
push 0x10035484
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 0x18
push 0x100354a8
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0xf
push 0x100354c4
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0xa
push 0x100354d4
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0xa
mov dword [esp + 0x104], 0
lea ecx, [esp + 0x104]
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0xf
push 0x100354e0
call fcn.1003ae40
push 0x24
push 0x100354ec
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 0x22
push 0x10035514
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x70]
push ecx
lea eax, [esp + 0x14c]
push eax
push ecx
lea ecx, [esp + 0x40]
call fcn.100785e0
push 0x1003adf0
push 9
push 0x18
lea eax, [esp + 0x7c]
push eax
call fcn.10079b58
push 7
push 0x10035538
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
call fcn.1003ae40
push 3
push 0x10035540
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
push 0x17
push 0x10035544
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 0xb
push 0x1003555c
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0x22
push 0x10035568
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 5
push 0x1003558c
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x19
push 0x10035594
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
mov dword [esp + 0x118], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0xf
push 0x25
push 0x100355b0
lea ecx, [esp + 0x120]
call fcn.1003ae40
push 0xa
push 0x100355d8
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 0x26
push 0x100355e4
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x13
push 0x1003560c
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 7
push 0x10035620
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0x17
push 0x10035628
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 0x10
push 0x10035640
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
push 0x10
push 0x10035654
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
call fcn.1003ae40
push 0x23
push 0x10035668
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
call fcn.1003ae40
push 0x27
push 0x1003568c
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x70]
push ecx
lea eax, [esp + 0x20c]
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.100785e0
push 0x1003adf0
push 0x11
push 0x18
lea eax, [esp + 0x7c]
push eax
call fcn.10079b58
mov edx, 0x1009d1b8
mov ecx, 0x1009d20c
call fcn.10078b00
mov esi, dword [0x10002788]
mov edx, 0x1009d1a0
mov ecx, dword [0x100027a0]
shl esi, cl
mov ecx, 0x1009d134
movzx edi, al
call fcn.10078b00
movzx ecx, al
mov edx, 0x1009d0d0
xor ecx, 1
mov eax, 1
cmp esi, edi
mov esi, ecx
mov ecx, 0x1009d14c
cmovle esi, eax
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d170
mov ecx, 0x1009d100
or esi, eax
call fcn.10078b00
movzx eax, al
lea edx, [esp + 0x238]
mov ecx, 0x1009d0e8
xor esi, eax
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d224
xor esi, eax
mov ecx, 0x1009d14c
mov dword [esp + 0x10], esi
call fcn.10078b00
mov esi, dword [0x100027c0]
lea edx, [esp + 0x238]
add esi, dword [0x100027a0]
mov ecx, 0x1009d1b8
movzx edi, al
call fcn.10078b00
movzx eax, al
mov ecx, 1
xor eax, 1
cmp esi, edi
cmovle eax, ecx
cmp dword [esp + 0x10], eax
je 0x100696c6
cmp dword [esp + 0x218], 0xc2
jae 0x100696c6
push 0x1009d1f4
push 0x1009d0d0
push 0x1009d224
push 0x1009d170
mov edx, 0x1009d170
lea ecx, [esp + 0x230]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x4c]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x258]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x5c]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x208]
push eax
call fcn.1003b590
mov edx, dword [esp + 0x6c]
cmp edx, 0x10
jb 0x100695d0
mov ecx, dword [esp + 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100695c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d98
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x264]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
cmp edx, 0x10
jb 0x10069621
mov ecx, dword [esp + 0x250]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069617
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d98
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x54]
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0xf
mov byte [esp + 0x250], 0
cmp edx, 0x10
jb 0x10069675
mov ecx, dword [esp + 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1006966b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d98
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x234]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp edx, 0x10
jb 0x100696c6
mov ecx, dword [esp + 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100696bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d98
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [esp + 0x10]
mov ecx, 0x1009d164
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10078c90
push 0x100356b4
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push ecx
mov dword [0x10002790], eax
mov edx, 0x1009d100
mov eax, dword [ebp + 0x38]
push eax
push ecx
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push ecx
push dword [ebp + 0x1c]
sub esp, 8
push eax
sub esp, 0xc
push 0x1009d134
sub esp, 0xc
push edi
push dword [0x100027b0]
push ecx
mov ecx, dword [0x100027ac]
call fcn.1004ab20
movsd xmm0, qword [0x100374c8]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
mov esi, eax
ja 0x1006973c
sqrtsd xmm0, xmm0
jmp 0x10069741
call fcn.100963f0
mov edx, dword [0x1009d1ec]
add esp, 0x48
cvttsd2si ecx, xmm0
xor esi, ecx
mov ecx, dword [0x1009d1e8]
xor esi, dword [ebp + 0x50]
add dword [0x100027a0], esi
call fcn.1003b800
mov eax, dword [0x1009d1e8]
mov edx, dword [0x1009d168]
mov ecx, dword [0x1009d164]
mov dword [0x1009d1ec], eax
call fcn.1003b800
mov eax, dword [0x1009d164]
lea ecx, [esp + 0x5c]
add esp, 4
mov dword [0x1009d168], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
push 7
push 0x100356d8
call fcn.1003ae40
mov eax, dword [0x10002788]
lea esi, [esp + 0x58]
push 0x1009d224
push dword [0x1000278c]
cmp dword [esp + 0x74], 0x10
push 0x1009d11c
push 0x1009d0a0
push dword [0x10002794]
cmovae esi, dword [esp + 0x6c]
push 0x1009d0a0
push eax
push eax
push ecx
push dword [ebp + 0x58]
mov edx, dword [ebp + 0x30]
lea ecx, [esp + 0x68]
push dword [0x100027c0]
push dword [ebp + 0x3c]
push 0x1009d0d0
push dword [ebp + 0x48]
push dword [ebp + 0x2c]
push 0xf4f2
push edi
push 0x1009d0d0
sub esp, 8
call fcn.100574f0
add esp, 0x50
cmp dword [eax + 0x14], 0x10
jb 0x10069826
mov eax, dword [eax]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
add dword [0x100027a8], eax
mov edx, dword [esp + 0x54]
cmp edx, 0x10
jb 0x1006986a
mov ecx, dword [esp + 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069860
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d9d
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp edx, 0x10
jb 0x100698b5
mov ecx, dword [esp + 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100698ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069d9d
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.1003b800
mov eax, dword [esp + 0x20]
mov edx, dword [0x1009d168]
mov ecx, dword [0x1009d164]
mov dword [esp + 0x24], eax
call fcn.1003b800
mov eax, dword [0x1009d164]
lea ecx, [esp + 0x38]
add esp, 4
mov dword [0x1009d168], eax
push dword [esp + 0x10]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10078c90
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add dword [0x10002798], eax
push 0x100356e4
call fcn.100844df
mov esi, dword [0x100027ac]
add esp, 4
fstp qword [esp + 0x10]
cvttsd2si eax, qword [esp + 0x10]
push 0x100356e0
sub esi, eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
push 0
push 0x1003570c
sub esi, eax
push 0x10035728
mov dword [0x100027ac], esi
call dword [sym.imp.SHLWAPI.dll_PathFindSuffixArrayA]
mov esi, dword [0x10002798]
push 0x130c
add esi, eax
call fcn.1008045f
mov ecx, dword [0x1009d098]
xor eax, esi
sub dword [0x10002788], eax
add esp, 4
mov esi, dword [0x1009d094]
mov eax, 0x2aaaaaab
sub ecx, esi
xor ebx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10069a03
xor edi, edi
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x224]
call fcn.1003d520
mov edx, dword [esp + 0x234]
cmp edx, 0x10
jb 0x100699dc
mov ecx, dword [esp + 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100699d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d098]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d094]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10069990
cmp dword [0x1009d0f8], 0x11
jae 0x10069b4c
lea eax, [esp + 0x208]
mov edx, 0x1009d188
push 0x1009d1d0
push eax
lea ecx, [esp + 0x228]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x44]
mov edx, eax
call fcn.10078930
mov esi, eax
add esp, 4
cmp esi, 0x1009d0e8
je 0x10069ac5
mov ecx, dword [0x1009d0fc]
cmp ecx, 0x10
jb 0x10069a82
mov eax, dword [0x1009d0e8]
inc ecx
cmp ecx, 0x1000
jb 0x10069a78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da2
mov eax, edx
push ecx
push eax
call fcn.10079b22
add esp, 8
mov dword [0x1009d0f8], 0
mov dword [0x1009d0fc], 0xf
mov byte [0x1009d0e8], 0
movups xmm0, xmmword [esi]
movups xmmword [0x1009d0e8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x1009d0f8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [esp + 0x54]
cmp edx, 0x10
jb 0x10069afb
mov ecx, dword [esp + 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069af1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da2
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x234]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp edx, 0x10
jb 0x10069b4c
mov ecx, dword [esp + 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069b42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da2
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x14], 0x10
jb 0x10069b57
mov ebx, dword [ebx]
cmp dword [0x1009d208], 0x10
mov edi, 0x1009d1f4
push ecx
push dword [ebp + 0x30]
cmovae edi, dword [0x1009d1f4]
mov edx, 0x1009d20c
push ecx
push 0x1009d20c
push ecx
push dword [0x100027b0]
sub esp, 8
push dword [ebp + 0x44]
sub esp, 0xc
push 0x1009d11c
sub esp, 0xc
push dword [ebp + 0x18]
push dword [0x1000278c]
push ecx
mov ecx, dword [ebp + 0x24]
call fcn.1004ab20
add esp, 0x4c
mov esi, eax
push ebx
push edi
call fcn.10080666
mov ecx, dword [esp + 0x24]
xor esi, eax
add esp, 8
mov dword [0x1000278c], esi
test ecx, ecx
je 0x10069c30
mov edx, dword [esp + 0x20]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x28]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x20]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10069c0e
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x10069ca6
mov edx, dword [esp + 0x38]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x40]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x38]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10069c84
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x10069d1c
mov edx, dword [esp + 0x2c]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x34]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x2c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10069cfa
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x24c]
cmp edx, 0x10
jb 0x10069d54
mov ecx, dword [esp + 0x238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069d4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x21c]
cmp edx, 0x10
jb 0x10069d8c
mov ecx, dword [esp + 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10069d82
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10069da7
push edx
push ecx
call fcn.10079b22
add esp, 8
pop edi
pop esi
mov eax, 0x128f9
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3