Function at 0x10006719
Capabilities:
Accept command line arguments
Enumerate gui resources
Resolve function by parsing pe exports
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3d8
mov eax, dword [0x1011a040]
xor eax, esp
mov dword [esp + 0x3d4], eax
cmp byte [0x1011e6e8], 0
push esi
push edi
jne 0x10006d17
and dword [esp + 0x34], 0
lea eax, [esp + 0xf0]
xor ecx, ecx
fld1
inc ecx
mov dword [esp + 0x30], eax
fstp qword [esp + 0xf0]
fld qword [0x1010aa00]
lea eax, [esp + 0x10]
mov byte [0x1011e6e8], cl
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x30]
push eax
fstp qword [esp + 0x14]
call fcn.10006d6f
fld qword [0x1010aa08]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
fld qword [0x1010aa18]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
fld qword [0x1010aa20]
lea eax, [esp + 0xb0]
and dword [esp + 0x34], 0
lea ecx, [esp + 0x30]
fstp qword [esp + 0xb0]
fld qword [0x1010aa28]
xor esi, esi
mov dword [esp + 0x30], eax
inc esi
lea eax, [esp + 0x10]
mov dword [esp + 0x38], esi
push eax
fstp qword [esp + 0x14]
mov dword [esp + 0x40], esi
call fcn.10006d6f
fld qword [0x1010aa30]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
fld qword [0x1010aa38]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
and dword [esp + 0x34], 0
lea eax, [esp + 0x70]
fld1
lea ecx, [esp + 0x30]
fstp qword [esp + 0x70]
fld qword [0x1010aa00]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x10]
push eax
fstp qword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
call fcn.10006d6f
fld qword [0x1010aa00]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
fld qword [0x1010aa08]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
fstp qword [esp + 0x14]
call fcn.10006d6f
lea eax, [esp + 0x200]
push 2
pop ecx
fldz
fst qword [eax]
fst qword [eax + 8]
add eax, 0x10
sub ecx, 1
jne 0x10006887
or dword [esp + 0x2d8], 0xffffffff
lea ecx, [esp + 0x1e0]
xor eax, eax
fstp st(0)
mov word [esp + 0x220], ax
mov byte [esp + 0x2c0], al
mov word [esp + 0x2d4], ax
lea eax, [esp + 0x70]
push esi
push eax
call fcn.1002207c
xor eax, eax
lea edi, [esp + 0x4c]
stosd dword es:[edi], eax
lea ecx, [esp + 0x4c]
push 7
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
and dword [esp + 0x5c], 0
mov edi, 0x1000
push eax
push edi
mov dword [esp + 0x68], esi
mov word [esp + 0x54], ax
call fcn.10008066
cmp dword [esp + 0x60], esi
lea eax, [esp + 0x4c]
push edi
cmova eax, dword [esp + 0x50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [esp + 0x60], esi
lea edx, [esp + 0x4c]
mov esi, dword [esp + 0x5c]
cmova edx, dword [esp + 0x4c]
test esi, esi
je 0x10006947
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea ecx, [edx + ecx*2]
jmp 0x1000693c
cmp ecx, edx
je 0x10006947
sub ecx, 2
cmp word [ecx], ax
jne 0x10006935
sub ecx, edx
sar ecx, 1
jmp 0x1000694a
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
and dword [esp + 0x40], 0
and dword [esp + 0x44], 0
cmp esi, ecx
cmovb ecx, esi
cmp dword [esp + 0x60], 7
push ecx
cmova eax, dword [esp + 0x50]
lea ecx, [esp + 0x34]
push eax
call fcn.10020876
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x50]
call fcn.10007915
lea ecx, [esp + 0x30]
call fcn.10008038
cmp dword [esp + 0x60], 7
lea eax, [esp + 0x4c]
cmova eax, dword [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x10006acf
fld qword [0x1010aa20]
push ecx
push ecx
fstp qword [esp]
call fcn.10039cc0
and dword [esp + 0x38], 0
lea eax, [esp + 0x18]
and dword [esp + 0x3c], 0
lea edx, [esp + 0x38]
and dword [esp + 0x18], 0
lea ecx, [esp + 0xf8]
and dword [esp + 0x20], 0
fstp st(0)
and dword [esp + 0x78], 0
and dword [esp + 0x7c], 0
and dword [esp + 0x80], 0
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x44], 0x40a00000
push eax
mov dword [esp + 0x24], 0x3f800000
call fcn.1002223f
fld dword [0x1010aa70]
lea ecx, [esp + 0x1b0]
fstp dword [esp + 0xc]
fld dword [0x1010a9a0]
fstp dword [esp + 8]
fld dword [0x1010a9cc]
fstp dword [esp + 4]
fld dword [0x1010a9b8]
fstp dword [esp]
call fcn.1001ffda
add esp, 0x10
mov dword [esp + 0x48], 0x3f800000
lea eax, [esp + 0x48]
lea ecx, [esp + 0xb0]
push eax
call fcn.1001e303
fld dword [0x1010a9b8]
lea eax, [esp + 0x30]
and dword [esp + 0x30], 0
mov edx, ecx
and dword [esp + 0x38], 0
push eax
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x3c], 0x3f800000
fstp dword [esp]
call fcn.1002004c
pop ecx
pop ecx
push 0x10
pop ecx
mov esi, eax
lea edi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xb0]
push eax
push ecx
lea eax, [esp + 0xf8]
push eax
lea edx, [esp + 0x1ac]
lea ecx, [esp + 0x7c]
call fcn.100202ee
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x134]
call fcn.100202ee
pop ecx
push str.xdelta3.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x10006b49
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 0x70
mov dword [esp + 0x30], eax
lea eax, [esp + 0x134]
push 0
push eax
mov dword [esp + 0x54], 1
call fcn.10054410
lea eax, [esp + 0x54]
add esp, 0xc
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x130]
lea eax, [esp + 0x2c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
push eax
call fcn.100065a5
lea ecx, [esp + 0x130]
call fcn.1004e750
lea ecx, [esp + 0x194]
call fcn.1003a730
lea ecx, [esp + 0x130]
call fcn.1004e080
xor eax, eax
mov edi, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov eax, 0x7ffffffe
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x64], edi
cmp eax, 1
jb 0x10006d5f
cmp dword [esp + 0x60], 7
lea eax, [esp + 0x4c]
push 1
cmova eax, dword [esp + 0x50]
push ecx
push dword [esp + 0x64]
push eax
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0x48]
call fcn.10021b3f
push 0x14
push str.spreadsheets_tax.wav
lea ecx, [esp + 0x38]
call fcn.1000787c
push eax
lea ecx, [esp + 0x74]
call fcn.1000794c
lea ecx, [esp + 0x30]
call fcn.10008038
cmp dword [esp + 0x84], 7
lea eax, [esp + 0x70]
lea ecx, [esp + 0x10]
cmova eax, dword [esp + 0x70]
push eax
call fcn.10007987
push ecx
push ecx
lea edx, [esp + 0x18]
lea ecx, [esp + 0x38]
call fcn.1000665c
and dword [esp + 0x34], edi
mov esi, eax
lea eax, [esp + 0x6c]
pop ecx
pop ecx
cmp eax, esi
je 0x10006c15
mov ecx, eax
call fcn.10007a21
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esp + 0x2c], edi
lea ecx, [esp + 0x30]
call fcn.10007a21
lea ecx, [esp + 0x10]
call fcn.10008038
push str.pnras12i.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x258c
push 0
lea esi, [eax + 0x1000]
push esi
mov dword [esp + 0x1c], esi
call fcn.10054410
mov esi, dword [esp + 0x38]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x48], eax
lea edx, [eax + esi]
mov cl, 0x8f
movzx eax, al
imul eax, eax, 0x21
sub cl, al
mov eax, dword [esp + 0x48]
add byte [edx], cl
inc eax
mov ecx, 0x258c
mov dword [esp + 0x48], eax
cmp eax, ecx
jb 0x10006c56
mov esi, dword [esp + 0x10]
push ecx
push edi
push esi
call fcn.10054570
add esp, 0xc
push 0
push esi
call dword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
jne 0x10006cfc
push 0x101065a8
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], al
mov dword [esp + 0x48], eax
call fcn.1000878a
push 0
push ecx
push 3
push 0x101065ac
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x1f4]
call fcn.100205d2
mov al, byte [esp + 0x240]
test al, al
je 0x10006d2b
lea ecx, [esp + 0x1e0]
call fcn.1000243e
cmp byte [esp + 0x40], 0
jne 0x10006cfc
push dword [esp + 0x44]
call fcn.1005295e
pop ecx
lea ecx, [esp + 0x70]
call fcn.10008038
lea ecx, [esp + 0x64]
call fcn.10007a21
lea ecx, [esp + 0x4c]
call fcn.10008038
mov ecx, dword [esp + 0x3dc]
pop edi
pop esi
xor ecx, esp
call fcn.10052950
mov esp, ebp
pop ebp
ret
xor cl, cl
mov byte [esp + 0x243], cl
test al, al
jne 0x10006cdf
test cl, cl
jne 0x10006cdb
call fcn.1000182c
push 0xffffffffffffffff
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov al, byte [esp + 0x240]
test al, al
jne 0x10006cdf
mov cl, byte [esp + 0x243]
jmp 0x10006d38
call fcn.10001383
int3