Function at 0x100091c0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10166662
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x101d6480]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x198], esi
call fcn.1000ba90
mov dword [esi + 0x84], eax
test eax, eax
jne 0x1000921d
push 0x11
push str.cant_create_curl
lea ecx, [esi + 0x58]
call fcn.10009e30
mov eax, 1
jmp 0x10009ce6
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x194], esp
push 1
movups xmmword [ecx], xmm0
push 0x101c4bb4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10008490
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
xorps xmm0, xmm0
push 1
movups xmmword [ecx], xmm0
push 0x101c4bb8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10008490
lea edi, [esi + 0x24]
mov dword [ebp - 4], 0xffffffff
mov edx, edi
lea ecx, [ebp - 0x15c]
call fcn.1000ab70
mov ecx, dword [ebp - 0x148]
add esp, 0x30
cmp ecx, 8
jb 0x100092ce
mov edx, dword [ebp - 0x15c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100092c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d03
push ecx
push edx
call fcn.10138574
add esp, 8
cmp dword [edi + 0x14], 8
mov edx, edi
jb 0x100092d8
mov edx, dword [edi]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x10009305
dec eax
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
cmp word [edx + ecx*2], 0x2f
lea eax, [edx + ecx*2]
je 0x100092ff
cmp eax, edx
je 0x10009305
sub eax, 2
cmp word [eax], 0x2f
jne 0x100092f2
sub eax, edx
sar eax, 1
jmp 0x10009308
or eax, 0xffffffff
cmp dword [edi + 0x10], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x18c], xmm0
cmovb eax, dword [edi + 0x10]
mov ecx, edi
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
jb 0x10009337
mov ecx, dword [edi]
push eax
push ecx
lea ecx, [ebp - 0x18c]
call fcn.10008490
mov dword [ebp - 4], 1
lea eax, [ebp - 0x18c]
cmp dword [ebp - 0x178], 8
cmovae eax, dword [ebp - 0x18c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov ecx, dword [edi + 0x10]
mov eax, accept
sub eax, ecx
cmp eax, 4
jb 0x10009d08
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x10009385
mov eax, dword [edi]
push 4
push str..old
push ecx
push eax
push ecx
push dword [ebp - 0x194]
lea ecx, [ebp - 0x12c]
call fcn.10005b80
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
push 0x101c4bbc
cmovae eax, dword [ebp - 0x12c]
push eax
call fcn.10142689
mov ecx, dword [ebp - 0x118]
add esp, 8
mov dword [esi + 0x88], eax
cmp ecx, 8
jb 0x10009408
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100093fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d0d
push ecx
push edx
call fcn.10138574
add esp, 8
cmp dword [esi + 0x88], 0
jne 0x1000942a
push 0xf
push str.cant_open_file
lea ecx, [esi + 0x58]
call fcn.10009e30
mov esi, 1
jmp 0x10009746
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
push 0x101c3b9b
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x130], 0
movups xmmword [ebp - 0x144], xmm0
call fcn.10005410
lea edx, [esi + 0xc]
mov byte [ebp - 4], 2
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x190], edx
jb 0x10009475
mov eax, dword [edx]
mov dword [ebp - 0x190], eax
mov eax, dword [edx + 0x10]
test eax, eax
je 0x100094b3
dec eax
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [ebp - 0x190]
cmp word [eax + ecx*2], 0x2f
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x190]
je 0x100094ad
nop dword [eax + eax]
cmp eax, ecx
je 0x100094b3
sub eax, 2
cmp word [eax], 0x2f
jne 0x100094a0
sub eax, ecx
sar eax, 1
jmp 0x100094b6
or eax, 0xffffffff
inc eax
mov dword [ebp - 0x11c], 0
cmp dword [edx + 0x10], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
cmovb eax, dword [edx + 0x10]
mov ecx, edx
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x118], 0
jb 0x100094e6
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [ebp - 0x12c]
call fcn.10008490
lea edx, [esi + 0xc]
mov byte [ebp - 4], 3
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x190], edx
jb 0x1000950e
mov eax, dword [edx]
mov dword [ebp - 0x190], eax
mov eax, dword [edx + 0x10]
test eax, eax
je 0x10009547
dec eax
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [ebp - 0x190]
cmp word [eax + ecx*2], 0x2f
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x190]
je 0x10009541
cmp eax, ecx
je 0x10009547
sub eax, 2
cmp word [eax], 0x2f
jne 0x10009534
sub eax, ecx
sar eax, 1
jmp 0x1000954a
or eax, 0xffffffff
lea ecx, [eax + 1]
mov dword [ebp - 0x14c], 0
mov eax, dword [edx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
movups xmmword [ebp - 0x15c], xmm0
cmp eax, ecx
jb 0x10009d12
sub eax, ecx
mov esi, 0xffffffff
cmp eax, 0xffffffff
cmovb esi, eax
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x190], esi
mov esi, dword [ebp - 0x198]
jb 0x10009597
mov edx, dword [edx]
push dword [ebp - 0x190]
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x15c]
call fcn.10008490
sub esp, 0x18
mov byte [ebp - 4], 4
lea eax, [ebp - 0x12c]
mov ecx, esp
push eax
call fcn.10003ef0
lea ecx, [ebp - 0x144]
call fcn.1000af20
add esp, 0x18
test eax, eax
js 0x1000966c
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
push 0x101c3ba1
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x160], 0
movups xmmword [ebp - 0x174], xmm0
call fcn.10005410
sub esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp - 0x15c]
mov ecx, esp
push eax
call fcn.10003ef0
lea ecx, [ebp - 0x174]
call fcn.1000af20
add esp, 0x18
test eax, eax
jns 0x10009789
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x1000966c
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10009662
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov ecx, dword [ebp - 0x148]
cmp ecx, 8
jb 0x100096ac
mov edx, dword [ebp - 0x15c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100096a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov ecx, dword [ebp - 0x118]
cmp ecx, 8
jb 0x100096ec
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100096e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov esi, 1
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x1000972b
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10009721
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov ecx, dword [ebp - 0x178]
cmp ecx, 8
jb 0x10009ce4
mov edx, dword [ebp - 0x18c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009cda
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
jmp 0x10009cda
lea edx, [ebp - 0x174]
lea ecx, [ebp - 0x1c8]
call fcn.1000b010
mov byte [ebp - 4], 6
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100097a8
mov edx, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x190]
mov dword [ebp - 0x194], ecx
push ecx
push edx
cmp ecx, eax
ja 0x1000980f
mov esi, dword [ebp - 0x190]
cmp dword [ebp - 0x130], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
add esi, eax
push esi
call fcn.1013a820
mov eax, dword [ebp - 0x194]
add esp, 0xc
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x198]
jmp 0x10009828
mov byte [ebp - 0x194], 0
push dword [ebp - 0x194]
push ecx
lea ecx, [ebp - 0x144]
call fcn.10005640
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x10009866
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000985c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d1c
push ecx
push edx
call fcn.10138574
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x100098a4
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000989a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x148]
cmp ecx, 8
jb 0x100098e8
mov edx, dword [ebp - 0x15c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100098de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x118]
cmp ecx, 8
jb 0x1000992c
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009922
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d17
push ecx
push edx
call fcn.10138574
add esp, 8
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
push 0x2712
push dword [esi + 0x84]
call fcn.1000eb60
push 0x10009040
push 0x4e2b
push dword [esi + 0x84]
call fcn.1000eb60
push esi
push 0x2711
push dword [esi + 0x84]
call fcn.1000eb60
push 1
push 0x29
push dword [esi + 0x84]
call fcn.1000eb60
push 0x10008f80
push 0x4e6f
push dword [esi + 0x84]
call fcn.1000eb60
push esi
push 0x272d
push dword [esi + 0x84]
call fcn.1000eb60
add esp, 0x48
push 3
push 0x54
push dword [esi + 0x84]
call fcn.1000eb60
push 0
push 0x2b
push dword [esi + 0x84]
call fcn.1000eb60
push 0x100090e0
push 0x4e58
push dword [esi + 0x84]
call fcn.1000eb60
push esi
push 0x2749
push dword [esi + 0x84]
call fcn.1000eb60
push 1
push 0x34
push dword [esi + 0x84]
call fcn.1000eb60
mov ecx, dword [edi + 0x10]
mov eax, accept
sub eax, ecx
add esp, 0x3c
cmp eax, 4
jb 0x10009d21
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x10009a22
mov eax, dword [edi]
push 4
push str..old
push ecx
push eax
push ecx
push dword [ebp - 0x194]
lea ecx, [ebp - 0x12c]
call fcn.10005b80
lea ecx, [ebp - 0x12c]
call fcn.10008160
mov ecx, dword [ebp - 0x118]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
cmp ecx, 8
jb 0x10009a8e
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009a84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d26
push ecx
push edx
call fcn.10138574
add esp, 8
mov ecx, dword [esi + 0x74]
mov eax, dword [esi + 0x70]
test ecx, ecx
jl 0x10009ab3
jg 0x10009a9e
test eax, eax
je 0x10009ab3
push ecx
push eax
push 0x75a4
push dword [esi + 0x84]
call fcn.1000eb60
add esp, 0x10
push dword [esi + 0x84]
call fcn.1000bad0
push dword [esi + 0x88]
mov dword [ebp - 0x198], eax
call fcn.1013e587
push dword [esi + 0x84]
call fcn.1000ba50
mov eax, dword [ebp - 0x198]
add esp, 0xc
cmp eax, 0x2a
jne 0x10009af0
lea esi, [eax - 0x28]
jmp 0x100096f1
test eax, eax
jne 0x10009ba9
cmp byte [esi + 0x90], al
jne 0x10009ba9
mov ecx, dword [edi + 0x10]
mov eax, accept
sub eax, ecx
cmp eax, 4
jb 0x10009d2b
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x10009b21
mov eax, dword [edi]
push 4
push str..old
push ecx
push eax
push ecx
push dword [ebp - 0x194]
lea ecx, [ebp - 0x12c]
call fcn.10005b80
cmp dword [edi + 0x14], 8
jb 0x10009b44
mov edi, dword [edi]
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
push 1
cmovae eax, dword [ebp - 0x12c]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 0x118]
cmp ecx, 8
jb 0x10009ba2
mov edx, dword [ebp - 0x12c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009b98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d30
push ecx
push edx
call fcn.10138574
add esp, 8
xor esi, esi
jmp 0x100096f1
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.1013a6c0
mov eax, dword [ebp - 0x198]
push eax
push dword [esi + 0x8c]
lea eax, [ebp - 0x114]
push str.httpcode:_d__CURLcode:_d_
push 0x103
push eax
call fcn.10008b90
lea ecx, [ebp - 0x114]
add esp, 0x20
add esi, 0x58
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009bf0
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x10009d35
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x10009c15
mov eax, dword [esi]
push edx
push eax
push ecx
lea eax, [ebp - 0x114]
push eax
push ecx
push dword [ebp - 0x194]
lea ecx, [ebp - 0x1b0]
call fcn.10009f70
lea eax, [ebp - 0x1b0]
cmp esi, eax
je 0x10009ca1
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10009c6e
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x10009c64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d3a
mov eax, edx
push ecx
push eax
call fcn.10138574
add esp, 8
movups xmm0, xmmword [ebp - 0x1b0]
mov dword [esi + 0x10], 0
mov ecx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1b0], 0
movq xmm0, qword [ebp - 0x1a0]
movq qword [esi + 0x10], xmm0
jmp 0x10009ca7
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0x10
jb 0x100096ec
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100096e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009d3a
jmp 0x100096e2
push ecx
push edx
call fcn.10138574
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10138217
mov esp, ebp
pop ebp
ret 4
call fcn.1013f864
call fcn.100012c0
call fcn.1013f864
call fcn.10004d40
call fcn.1013f864
call fcn.1013f864
call fcn.100012c0
call fcn.1013f864
call fcn.100012c0
call fcn.1013f864
call fcn.100012c0
call fcn.1013f864
int3