Function at 0x1001a3b0
Capabilities:
Accept command line arguments
Create process on windows
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1d19
mov eax, dword fs:[0]
push eax
sub esp, 0x424
mov eax, dword [0x100e30c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x22c], ecx
cmp dword [ebp + 8], 2
jne 0x1001a411
push 0
push 0xffffffffffffffeb
mov ecx, dword [ebp - 0x22c]
call fcn.1003e8f7
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x1001aec1
cmp dword [ebp + 8], 0x7ec
jne 0x1001a42e
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x7c8], ecx
jmp 0x1001aea6
cmp dword [ebp + 8], 0x10
jne 0x1001a44b
mov ecx, dword [ebp - 0x22c]
call fcn.10019fc0
xor eax, eax
jmp 0x1001aec1
cmp dword [ebp + 8], 0x7e9
jne 0x1001a72c
cmp dword [ebp + 0xc], 1
jne 0x1001a576
mov edx, dword [ebp - 0x22c]
mov byte [edx + 0x784], 1
push 0x3e8
mov ecx, dword [ebp - 0x22c]
call fcn.1003e8f7
push eax
call dword [sym.imp.USER32.dll_KillTimer]
nop
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0x77c], 0
je 0x1001a4d1
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx + 0x77c]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x77c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x314], eax
push 0x100d24c0
mov ecx, dword [ebp - 0x30c]
call dword [ebp - 0x314]
nop
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x7be], 1
mov edx, dword [ebp - 0x22c]
cmp dword [edx + 0x774], 0
je 0x1001a50d
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x774]
mov dword [ebp - 0x31c], ecx
push 0x64
mov ecx, dword [ebp - 0x31c]
call fcn.1004210d
nop
mov ecx, dword [ebp - 0x22c]
add ecx, 0x780
call fcn.100157d0
movzx edx, al
test edx, edx
je 0x1001a571
mov ecx, dword [ebp - 0x22c]
add ecx, 0x780
call fcn.10005be0
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
call eax
push 0x10019ac0
push 0x7d0
push 0x3e9
mov ecx, dword [ebp - 0x22c]
call fcn.1003e8f7
push eax
call dword [sym.imp.USER32.dll_SetTimer]
nop
jmp 0x1001a720
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x784], 1
push 0x3e8
mov ecx, dword [ebp - 0x22c]
call fcn.1003e8f7
push eax
call dword [sym.imp.USER32.dll_KillTimer]
push 0x100
push 0
lea edx, [ebp - 0x210]
push edx
call fcn.1008b830
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
push 0x100d24cc
push 0x80
lea ecx, [ebp - 0x210]
push ecx
call fcn.100196e0
add esp, 0x10
mov edx, dword [ebp - 0x22c]
cmp dword [edx + 0x774], 0
je 0x1001a5fc
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x774]
mov dword [ebp - 0x244], ecx
push 0x64
mov ecx, dword [ebp - 0x244]
call fcn.1004210d
nop
mov edx, dword [ebp - 0x22c]
mov byte [edx + 0x7be], 1
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x7c0], ecx
mov edx, dword [ebp - 0x22c]
cmp dword [edx + 0x77c], 0
je 0x1001a664
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x77c]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 0x77c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x248]
call dword [ebp - 0x24c]
nop
mov ecx, dword [ebp - 0x22c]
add ecx, 0x30
mov dword [ebp - 0x250], ecx
push 0x100d24e4
mov ecx, dword [ebp - 0x250]
call fcn.10037eaa
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x238]
mov eax, dword [edx]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x254], ecx
push 1
mov ecx, dword [ebp - 0x238]
call dword [ebp - 0x254]
nop
cmp dword [ebp + 0xc], 0x2713
jne 0x1001a6db
call fcn.100264a0
mov dword [ebp - 0x258], eax
push 0xe
mov ecx, dword [ebp - 0x258]
call fcn.10026ef0
mov ecx, dword [ebp - 0x22c]
call fcn.1001c690
nop
jmp 0x1001a701
call fcn.100264a0
mov dword [ebp - 0x25c], eax
push 0x14
mov ecx, dword [ebp - 0x25c]
call fcn.10026ef0
push 6
mov ecx, dword [ebp - 0x22c]
call fcn.1001c600
nop
mov edx, dword [ebp - 0x22c]
movzx eax, byte [edx + 0x7bc]
test eax, eax
je 0x1001a720
push 0
mov ecx, dword [ebp - 0x22c]
call fcn.1003f138
nop
xor eax, eax
jmp 0x1001aec1
cmp dword [ebp + 8], 0x7ea
jne 0x1001ae38
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x7c]
test eax, eax
jne 0x1001aa4e
mov ecx, dword [ebp - 0x22c]
call fcn.1001c670
mov ecx, dword [0x100d24f4]
mov dword [ebp - 0x110], ecx
mov edx, dword [0x100d24f8]
mov dword [ebp - 0x10c], edx
mov eax, dword [0x100d24fc]
mov dword [ebp - 0x108], eax
mov ecx, dword [0x100d2500]
mov dword [ebp - 0x104], ecx
mov edx, dword [0x100d2504]
mov dword [ebp - 0x100], edx
mov eax, dword [0x100d2508]
mov dword [ebp - 0xfc], eax
push 0xe8
push 0
lea ecx, [ebp - 0xf8]
push ecx
call fcn.1008b830
add esp, 0xc
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x84]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0x2713
je 0x1001a7db
jmp 0x1001a829
call fcn.100264a0
mov dword [ebp - 0x264], eax
push 0xe
mov ecx, dword [ebp - 0x264]
call fcn.10026ef0
mov ecx, dword [ebp - 0x22c]
call fcn.1001c690
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0x84]
push edx
push 0x100d250c
push 0x80
lea eax, [ebp - 0x110]
push eax
call fcn.100196e0
add esp, 0x10
jmp 0x1001a9a8
mov ecx, dword [ebp - 0x22c]
cmp dword [ecx + 0x7c4], 5
jge 0x1001a94d
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 0x7c4]
add eax, 1
mov ecx, dword [ebp - 0x22c]
mov dword [ecx + 0x7c4], eax
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 0x7c4]
push eax
lea ecx, [ebp - 0x358]
push ecx
call fcn.10019600
add esp, 8
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x26c], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x26c]
push eax
push str.download_fail.
lea ecx, [ebp - 0x340]
push ecx
call fcn.10010a60
add esp, 0xc
mov dword [ebp - 0x270], eax
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x274], edx
mov byte [ebp - 4], 1
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x320], esp
push str._retry
mov ecx, dword [ebp - 0x274]
push ecx
push eax
call fcn.10010460
add esp, 0xc
call fcn.1001f3b0
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x340]
call fcn.1000bb50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.1000bb50
nop
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0
je 0x1001a931
push 1
mov ecx, dword [ebp - 0x23c]
call fcn.1001aee0
mov dword [ebp - 0x278], eax
jmp 0x1001a93b
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x22c]
call fcn.1001af70
xor eax, eax
jmp 0x1001aec1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x324], esp
push str.download_fail_5_times._stopping
call fcn.1000bbd0
call fcn.1001f3b0
add esp, 0x18
call fcn.100264a0
mov dword [ebp - 0x27c], eax
push 0x13
mov ecx, dword [ebp - 0x27c]
call fcn.10026ef0
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x84]
push ecx
push 0x100d2598
push 0x80
lea edx, [ebp - 0x110]
push edx
call fcn.100196e0
add esp, 0x10
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x77c]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 0x77c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x284], edx
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x280]
call dword [ebp - 0x284]
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx + 0x774]
mov dword [ebp - 0x288], edx
push 0x64
mov ecx, dword [ebp - 0x288]
call fcn.1004210d
mov eax, dword [ebp - 0x22c]
mov byte [eax + 0x7be], 1
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x84]
mov dword [ecx + 0x7c0], eax
mov ecx, dword [ebp - 0x22c]
movzx edx, byte [ecx + 0x7bc]
test edx, edx
je 0x1001aa47
push 0
mov ecx, dword [ebp - 0x22c]
call fcn.1003f138
nop
xor eax, eax
jmp 0x1001aec1
mov ecx, dword [ebp - 0x22c]
call fcn.1001c6b0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x77c]
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 0x77c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x290], edx
push 0x100d25b0
mov ecx, dword [ebp - 0x28c]
call dword [ebp - 0x290]
mov ecx, dword [ebp - 0x230]
add ecx, 0x64
call fcn.1000b9d0
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x4c
call fcn.1000b9d0
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x298]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x3e8]
push edx
mov ecx, dword [ebp - 0x22c]
call fcn.1001b4a0
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2d8], ecx
mov ecx, dword [ebp - 0x22c]
call fcn.1003e8f7
push eax
lea edx, [ebp - 0x3d0]
push edx
call fcn.10019600
add esp, 8
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2c0], ecx
mov edx, dword [ebp - 0x2ac]
push edx
lea ecx, [ebp - 0x3b8]
call fcn.1000bbd0
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], eax
mov byte [ebp - 4], 4
push str.__notify
mov ecx, dword [ebp - 0x2b4]
push ecx
lea edx, [ebp - 0x3a0]
push edx
call fcn.10010460
add esp, 0xc
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x388]
push ecx
call fcn.10010520
add esp, 0xc
mov dword [ebp - 0x2c8], eax
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], edx
mov byte [ebp - 4], 6
push 0x100d25c4
mov eax, dword [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x430]
push ecx
call fcn.10010460
add esp, 0xc
mov dword [ebp - 0x2d0], eax
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2d8]
push ecx
mov edx, dword [ebp - 0x2dc]
push edx
lea eax, [ebp - 0x370]
push eax
call fcn.10010560
add esp, 0xc
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e4], ecx
mov byte [ebp - 4], 8
push 0x100d25c0
mov edx, dword [ebp - 0x2e4]
push edx
lea eax, [ebp - 0x228]
push eax
call fcn.10010460
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x370]
call fcn.1000bb50
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x430]
call fcn.1000bb50
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x388]
call fcn.1000bb50
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3a0]
call fcn.1000bb50
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x3b8]
call fcn.1000bb50
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3d0]
call fcn.1000bb50
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x3e8]
call fcn.1000bb50
nop
mov ecx, dword [ebp - 0x230]
add ecx, 0x64
push ecx
push 0x100d25f4
lea edx, [ebp - 0x418]
push edx
call fcn.100183f0
add esp, 0xc
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], eax
mov byte [ebp - 4], 0x11
push 0x100d25f0
mov ecx, dword [ebp - 0x2ec]
push ecx
lea edx, [ebp - 0x400]
push edx
call fcn.10010460
add esp, 0xc
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 4], 0x12
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x328], esp
lea edx, [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x2f4]
push eax
push ecx
call fcn.10010560
add esp, 0xc
call fcn.1001f3b0
add esp, 0x18
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x400]
call fcn.1000bb50
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x418]
call fcn.1000bb50
nop
lea ecx, [ebp - 0x228]
call fcn.1000b9d0
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x64
call fcn.1000b9d0
mov dword [ebp - 0x2fc], eax
push 5
push 0
mov ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2fc]
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebp - 0x22c]
mov byte [eax + 0x7be], 1
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x1001ae05
push 1
mov ecx, dword [ebp - 0x240]
call fcn.1001aee0
mov dword [ebp - 0x300], eax
jmp 0x1001ae0f
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.1000bb50
mov eax, dword [ebp - 0x304]
jmp 0x1001aec1
cmp dword [ebp + 8], 0x7eb
jne 0x1001ae74
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x308], edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0x774]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x308]
push edx
mov ecx, dword [ebp - 0x318]
call fcn.1004210d
xor eax, eax
jmp 0x1001aec1
cmp dword [ebp + 8], 0x7ed
jne 0x1001aea6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
push ecx
mov ecx, dword [ebp - 0x22c]
call fcn.1001c600
push 0
mov ecx, dword [ebp - 0x22c]
call fcn.1003f138
nop
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x22c]
call fcn.1003fa52
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1008702a
mov esp, ebp
pop ebp
ret 0x10