Function at 0x40f740
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52dcc9
mov eax, dword fs:[0]
push eax
sub esp, 0x54c
mov eax, dword [0x57a438]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x254], ecx
call fcn.00415560
push 0x208
mov edi, eax
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004fecc0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.curlnet.dll
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f36
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x220]
call fcn.00406e80
test al, al
jne 0x40f833
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f811
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x220]
call fcn.00406d90
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x220]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea edx, [esi - 0x10]
sete byte [ebp - 0x2f5]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f86a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x2f5], 0
jne 0x40f881
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.0040dcc0
xor eax, eax
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 7
mov word [ebp - 0x28c], ax
mov dword [ebp - 4], 1
mov dword [ebp - 0x248], eax
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f40
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 2
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f4a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 3
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f54
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24c], eax
mov byte [ebp - 4], 4
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f5e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x25c], edi
xorps xmm0, xmm0
mov byte [ebp - 4], 5
push 0
lea ecx, [ebp - 0x274]
movq qword [ebp - 0x264], xmm0
movups xmmword [ebp - 0x274], xmm0
call fcn.004b1170
xorps xmm0, xmm0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2f4]
movups xmmword [ebp - 0x2f4], xmm0
movups xmmword [ebp - 0x2e4], xmm0
call fcn.004b52d0
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 7
call fcn.004b7140
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0xf
mov byte [ebp - 0x2a4], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x254]
mov eax, ecx
mov dword [ebp - 0x220], ecx
cmp dword [ecx + 0x14], 0x10
jb 0x40f9c6
mov eax, dword [ecx]
mov dword [ebp - 0x220], eax
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f9d0
lea eax, [ebp - 0x2a4]
sub ecx, edx
mov edx, dword [ebp - 0x228]
push eax
lea eax, [ebp - 0x274]
push eax
mov eax, dword [ebp - 0x220]
mov edx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x228]
push eax
push dword [ebp - 0x220]
call dword [edx + 4]
mov ecx, dword [ebp - 0x228]
push 1
mov eax, dword [ecx]
call dword [eax]
xorps xmm0, xmm0
lea ecx, [ebp - 0x2d4]
push 0
movups xmmword [ebp - 0x2d4], xmm0
movq qword [ebp - 0x2c4], xmm0
call fcn.004b1170
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0xa
call fcn.004b2cd0
test al, al
jne 0x4105ab
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f68
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0xb
call fcn.00406e80
test al, al
jne 0x40fab7
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x240]
push 8
push str.post_url
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.004b9c80
add esp, 0x14
mov byte [ebp - 4], 0xe
mov edx, dword [eax]
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40fb20
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28c]
call fcn.0040b2e0
mov byte [ebp - 4], 0xd
mov eax, esi
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fb5d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x40fb9b
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410f72
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fbd7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f77
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0xf
call fcn.00406e80
test al, al
jne 0x40fc20
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x240]
push 0x10
push str.post_encrypt_key
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004b9c80
add esp, 0x14
mov byte [ebp - 4], 0x12
mov edx, dword [eax]
mov edi, dword [ebp - 0x248]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x40fce1
cmp dword [edi + 0xc], 0
jl 0x40fcd2
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x40fcd2
call fcn.00417a80
mov dword [ebp - 0x244], eax
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40fcc7
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x244]
add eax, 0x10
mov dword [ebp - 0x248], eax
jmp 0x40fce1
push dword [edx - 0xc]
lea ecx, [ebp - 0x248]
push edx
call fcn.00406d90
mov byte [ebp - 4], 0x11
mov eax, esi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fd02
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x40fd40
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fd36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410f81
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fd7c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f86
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x13
call fcn.00406e80
test al, al
jne 0x40fdc5
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x240]
push 9
push str.token_app
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004b9c80
add esp, 0x14
mov byte [ebp - 4], 0x16
mov edx, dword [eax]
mov edi, dword [ebp - 0x250]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x40fe86
cmp dword [edi + 0xc], 0
jl 0x40fe77
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x40fe77
call fcn.00417a80
mov dword [ebp - 0x244], eax
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40fe6c
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x244]
add eax, 0x10
mov dword [ebp - 0x250], eax
jmp 0x40fe86
push dword [edx - 0xc]
lea ecx, [ebp - 0x250]
push edx
call fcn.00406d90
mov byte [ebp - 4], 0x15
mov eax, esi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fea7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x40fee5
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fedb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410f90
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ff21
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410f95
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x17
call fcn.00406e80
test al, al
jne 0x40ff6a
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x240]
push 9
push str.token_key
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004b9c80
add esp, 0x14
mov byte [ebp - 4], 0x1a
mov edx, dword [eax]
mov edi, dword [ebp - 0x24c]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x41002b
cmp dword [edi + 0xc], 0
jl 0x41001c
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x41001c
call fcn.00417a80
mov dword [ebp - 0x244], eax
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410011
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x244]
add eax, 0x10
mov dword [ebp - 0x24c], eax
jmp 0x41002b
push dword [edx - 0xc]
lea ecx, [ebp - 0x24c]
push edx
call fcn.00406d90
mov byte [ebp - 4], 0x19
mov eax, esi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41004c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x41008a
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410080
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410f9f
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4100c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fa4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x1b
call fcn.00406e80
test al, al
jne 0x41010f
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x240]
push 0xb
push str.module_name
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.004b9b30
add esp, 0x14
mov edx, eax
mov byte [ebp - 4], 0x1e
cmp dword [edx + 0x14], 0x10
jb 0x41017b
mov edx, dword [edx]
test edx, edx
jne 0x410183
xor ecx, ecx
jmp 0x410191
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410188
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x25c]
call fcn.00416e00
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x310]
cmp edx, 0x10
jb 0x4101dc
mov ecx, dword [ebp - 0x324]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4101d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410fae
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0xf
mov byte [ebp - 0x324], 0
cmp edx, 0x10
jb 0x410235
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41022b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410fb3
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410271
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 3
push 0x560470
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.004b9aa0
mov byte [ebp - 4], 0xa
add esp, 0xc
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x224], eax
cmp edx, 0x10
jb 0x4102fe
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4102f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410fb8
push edx
push ecx
call fcn.004ac6c8
add esp, 8
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fbd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x5602b4
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x20
call fcn.00406e80
test al, al
jne 0x410347
push 0
push 0x5602b4
lea ecx, [ebp - 0x21c]
call fcn.00406d90
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x240]
push 5
push str.token
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.00408dd0
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.004b9b30
add esp, 0x14
lea ecx, [ebp - 0x2bc]
push eax
call fcn.00415870
mov edx, dword [ebp - 0x310]
cmp edx, 0x10
jb 0x4103eb
mov ecx, dword [ebp - 0x324]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4103e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410fc7
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0xf
mov byte [ebp - 0x324], 0
cmp edx, 0x10
jb 0x410444
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41043a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410fcc
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410480
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.modules
mov byte [ecx], 0
call fcn.00408dd0
lea edx, [ebp - 0x274]
lea ecx, [ebp - 0x324]
call fcn.0040e730
add esp, 0x18
lea ecx, [ebp - 0x2d4]
push eax
call fcn.004b1720
lea ecx, [ebp - 0x324]
call fcn.004b16b0
lea ecx, [ebp - 0x2d4]
call fcn.004b2cd0
cmp dword [ebp - 0x27c], 0
je 0x410509
mov eax, dword [ebp - 0x248]
cmp dword [eax - 0xc], 0
je 0x410509
mov eax, dword [ebp - 0x24c]
cmp dword [eax - 0xc], 0
je 0x410509
mov eax, dword [ebp - 0x250]
cmp dword [eax - 0xc], 0
jne 0x4105a5
lea ecx, [ebp - 0x30c]
call fcn.00426ed0
sub esp, 8
mov byte [ebp - 4], 0x23
mov edi, dword [eax]
lea ecx, [ebp - 0x3bc]
call fcn.004093f0
lea eax, [ebp - 0x3bc]
mov byte [ebp - 4], 0x24
push str.post_param_invaild__post:
push eax
call fcn.00407550
mov eax, dword [ebp - 0x254]
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x41054e
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x3bc]
call fcn.0041c6c0
mov eax, dword [edi]
lea ecx, [ebp - 0x3bc]
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x3bc]
call fcn.0040a3e0
mov byte [ebp - 4], 0x25
mov edi, dword [ebp - 0x308]
test edi, edi
je 0x4105a1
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4105a1
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4105a1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov edi, dword [ebp - 0x25c]
mov dword [ebp - 0x258], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fd1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0x26
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fdb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0x27
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fe5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 0x28
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410fef
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x244], eax
sub esp, 0x1c
mov byte [ebp - 4], 0x29
mov eax, esp
mov dword [ebp - 0x308], esp
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 0x220], eax
push ecx
mov ecx, eax
call fcn.00408940
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
mov dword [eax + 0x18], ecx
sub esp, 0x18
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x2d4]
mov ecx, esp
push eax
call fcn.004b0f10
mov edx, edi
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x258]
call fcn.00411030
add esp, 0x34
test al, al
je 0x410c79
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.004bee30
add esp, 0xc
mov byte [ebp - 4], 0x2b
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41071b
cmp dword [esi + 0xc], 0
jl 0x41070c
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41070c
call fcn.00417a80
mov dword [ebp - 0x224], eax
lea edx, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410701
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x224]
add eax, 0x10
mov dword [ebp - 0x21c], eax
jmp 0x41071b
push dword [edx - 0xc]
lea ecx, [ebp - 0x21c]
push edx
call fcn.00406d90
mov byte [ebp - 4], 0x29
or eax, 0xffffffff
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41073d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x250]
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x21c]
call fcn.00411d30
cmp dword [ebp - 0x278], 8
lea eax, [ebp - 0x28c]
push dword [ebp - 0x254]
cmovae eax, dword [ebp - 0x28c]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00407210
add esp, 0x14
cmp dword [0x587ab8], 0
jne 0x4107a5
push 0x5602b4
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x587ab8], eax
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x410ff9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x2c
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x411003
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x228], eax
push 0x560578
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x2d
call fcn.00406e80
test al, al
jne 0x410811
push 4
push 0x560578
lea ecx, [ebp - 0x228]
call fcn.00406d90
sub esp, 8
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x220]
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x244]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040df30
mov byte [ebp - 4], 0x2c
add esp, 0x10
mov edx, dword [ebp - 0x228]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x41085e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x410c51
lea ecx, [ebp - 0x304]
call fcn.00426ed0
sub esp, 8
mov byte [ebp - 4], 0x2f
mov esi, dword [eax]
lea ecx, [ebp - 0x3bc]
call fcn.004093f0
lea eax, [ebp - 0x3bc]
mov byte [ebp - 4], 0x30
push str.get_cloud_cfg_ok_
push eax
call fcn.00407550
add esp, 8
lea ecx, [ebp - 0x3bc]
mov edx, edi
call fcn.0041c6c0
mov eax, dword [esi]
lea ecx, [ebp - 0x3bc]
push ecx
mov ecx, esi
call dword [eax + 0xc]
lea ecx, [ebp - 0x3bc]
call fcn.0040a3e0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x308], ecx
test ecx, ecx
je 0x4108fb
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x4108fb
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x308]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x4108fb
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x554]
push 0
push dword [ebp - 0x220]
lea ecx, [ebp - 0x558]
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x558], eax
call fcn.00417570
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x224]
push dword [ebp - 0x558]
call fcn.00406cc0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x554]
mov eax, dword [ebp - 0x558]
cmp eax, ecx
je 0x41095a
push eax
call fcn.0050272d
add esp, 4
lea eax, [ebp - 0x248]
mov dword [ebp - 0x228], 0
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.004be970
add esp, 0xc
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x3a4]
push 0
push dword [ebp - 0x228]
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x3a8], eax
call fcn.00417480
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x3a8]
mov ecx, edx
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4109d0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x240]
call fcn.00408dd0
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x3a4]
mov eax, dword [ebp - 0x3a8]
cmp eax, ecx
je 0x410a03
push eax
call fcn.0050272d
add esp, 4
push dword [ebp - 0x2fc]
mov edx, edi
lea ecx, [ebp - 0x240]
call fcn.00412220
mov esi, dword [ebp - 0x21c]
add esp, 4
mov byte [ebp - 0x2f5], al
test al, al
jne 0x410b89
lea ecx, [ebp - 0x304]
call fcn.00426ed0
sub esp, 8
mov byte [ebp - 4], 0x39
mov eax, dword [eax]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x2fc], eax
call fcn.004093f0
lea eax, [ebp - 0x454]
mov byte [ebp - 4], 0x3a
push str.get_cloud_cfg_result_is_error__result:
push eax
call fcn.00407550
add esp, 8
lea edx, [ebp - 0x240]
cmp dword [ebp - 0x22c], 0x10
lea ecx, [ebp - 0x454]
cmovae edx, dword [ebp - 0x240]
call fcn.0041c6c0
mov ecx, dword [ebp - 0x2fc]
lea edx, [ebp - 0x454]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
lea ecx, [ebp - 0x454]
call fcn.0040a3e0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2fc], ecx
test ecx, ecx
je 0x410add
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x410add
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x2fc]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x410add
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], 0x38
call fcn.00426ed0
sub esp, 8
mov byte [ebp - 4], 0x3c
mov eax, dword [eax]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x2fc], eax
call fcn.004093f0
lea eax, [ebp - 0x454]
mov byte [ebp - 4], 0x3d
push str.post:
push eax
call fcn.00407550
test esi, esi
mov eax, 0x55fc20
cmovne eax, esi
push eax
lea eax, [ebp - 0x454]
push eax
call fcn.00407550
mov ecx, dword [ebp - 0x2fc]
lea edx, [ebp - 0x454]
add esp, 0x10
mov eax, dword [ecx]
push edx
call dword [eax + 0xc]
lea ecx, [ebp - 0x454]
call fcn.0040a3e0
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2fc], ecx
test ecx, ecx
je 0x410b89
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x410b89
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x2fc]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x410b89
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x410bc7
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410bbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41100d
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov byte [ebp - 4], 0x34
or eax, 0xffffffff
mov edx, dword [ebp - 0x228]
mov dword [ebp - 0x230], 0
add edx, 0xfffffff0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410c04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2c
or eax, 0xffffffff
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410c26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x29
or eax, 0xffffffff
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410d1e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x410d1e
mov byte [ebp - 4], 0x29
or eax, 0xffffffff
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410c73
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x21c]
lea ecx, [ebp - 0x304]
call fcn.00426ed0
sub esp, 8
mov byte [ebp - 4], 0x3f
mov eax, dword [eax]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x2fc], eax
call fcn.004093f0
lea eax, [ebp - 0x454]
mov byte [ebp - 4], 0x40
push str.get_cloud_cfg_failed_
push eax
call fcn.00407550
add esp, 8
lea ecx, [ebp - 0x454]
mov edx, edi
call fcn.0041c6c0
mov ecx, dword [ebp - 0x2fc]
lea edx, [ebp - 0x454]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
lea ecx, [ebp - 0x454]
call fcn.0040a3e0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2fc], ecx
test ecx, ecx
je 0x410d17
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x410d17
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x2fc]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x410d17
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x2f5], 0
mov byte [ebp - 4], 0x28
or eax, 0xffffffff
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410d40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x27
or eax, 0xffffffff
mov edx, dword [ebp - 0x254]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410d62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x26
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410d80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410da1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x2a8]
cmp edx, 0x10
jb 0x410ddf
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410dd5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411012
push edx
push ecx
call fcn.004ac6c8
add esp, 8
lea ecx, [ebp - 0x2d4]
call fcn.004b16b0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x290]
cmp edx, 0x10
jb 0x410e28
mov ecx, dword [ebp - 0x2a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410e1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411017
push edx
push ecx
call fcn.004ac6c8
add esp, 8
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0xf
mov byte [ebp - 0x2a4], 0
call fcn.004b53f0
lea ecx, [ebp - 0x274]
call fcn.004b16b0
mov byte [ebp - 4], 4
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x410e74
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, esi
mov edx, dword [ebp - 0x24c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410e95
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410eb6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x248]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x410ed5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x278]
cmp edx, 8
jb 0x410f15
mov ecx, dword [ebp - 0x28c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410f0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41101c
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov al, byte [ebp - 0x2f5]
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.004ac694
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
call fcn.005026a0
push 0x80004005
call fcn.00407c80
call fcn.005026a0
push 0x80004005
call fcn.00407c80
call fcn.005026a0
push 0x80004005
call fcn.00407c80
call fcn.005026a0
push 0x80004005
call fcn.00407c80
call fcn.005026a0
call fcn.005026a0
call fcn.005026a0
push 0x80004005
call fcn.00407c80
call fcn.005026a0
call fcn.005026a0
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
call fcn.005026a0
call fcn.005026a0
call fcn.005026a0
call fcn.005026a0
int3