Function at 0x40c145
Capabilities:
Delete file

Disassembly:
mov eax, 0x41e2a5
call fcn.004132a4
sub esp, 0x230
mov eax, dword [0x4290c8]
push ebx
push esi
mov dword [ebp - 0x10], eax
call fcn.0040bf56
lea eax, [ebp - 0x22c]
push eax
call fcn.0040740e
xor ebx, ebx
mov dword [ebp - 4], ebx
push dword [0x429f98]
lea eax, [ebp - 0x22c]
push 0x42ac28
call fcn.004074ae
test eax, eax
jne 0x40c197
or ebx, 0xffffffff
jmp 0x40c4e1
push edi
push str.GetOemInfo_connect_succeed._n
call fcn.0040b9f0
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.0041144f
pop ecx
pop ecx
mov esi, eax
mov eax, dword [0x42a1ac]
mov edi, 0x42a1ac
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x230], eax
push esi
mov byte [ebp - 4], 1
push dword [0x42a17c]
lea eax, [ebp - 0x230]
push eax
call fcn.004023ad
add esp, 0xc
push dword [ebp - 0x230]
lea eax, [ebp - 0x22c]
push 0x4225a8
call fcn.004074fc
test eax, eax
jne 0x40c206
push 0xfffffffffffffffe
pop ebx
jmp 0x40c4d2
push str.GetOemInfo_OpenRequest_succeed._n
call fcn.0040b9f0
lea eax, [ebp - 0x21c]
mov dword [esp], 0x420e24
push eax
call fcn.00405be5
push ebx
push ebx
push ebx
push ebx
lea esi, [ebp - 0x22c]
mov byte [ebp - 4], 2
call fcn.00407552
test eax, eax
jne 0x40c242
push 0xfffffffffffffffd
pop ebx
jmp 0x40c4c4
push str.GetOemInfo_SendRequest_succeed._n
call fcn.0040b9f0
pop ecx
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0040768d
test eax, eax
jne 0x40c268
push 0xfffffffffffffffc
jmp 0x40c23c
cmp dword [ebp - 0x224], ebx
je 0x40c282
push dword [ebp - 0x224]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x228], ebx
je 0x40c29c
push dword [ebp - 0x228]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x228], ebx
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 0xc], 6
jge 0x40c2b3
push ebx
call fcn.0040c506
jmp 0x40c4c4
mov eax, dword [0x42a1ac]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov byte [ebp - 4], 3
mov eax, dword [0x42a1ac]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
mov byte [ebp - 4], 4
mov eax, dword [0x42a1ac]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 5
push dword [ebp - 0x21c]
lea eax, [ebp + 8]
call fcn.00405c8f
mov edi, dword [ebp + 8]
push edi
push str.GetOemInfo_Read__s_n
call fcn.0040b9f0
pop ecx
pop ecx
push ebx
push ebx
push edi
lea ecx, [ebp - 0x22c]
call fcn.00407765
mov esi, eax
push esi
push str.GetOemInfo_URL_size__d_n
call fcn.0040b9f0
cmp esi, ebx
pop ecx
pop ecx
jg 0x40c33c
or ebx, 0xffffffff
jmp 0x40c4a0
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00407926
push dword [ebp - 0x23c]
lea eax, [ebp - 0x22c]
push dword [ebp - 0x234]
call fcn.004074ae
test eax, eax
je 0x40c334
push dword [ebp - 0x238]
lea eax, [ebp - 0x22c]
push 0x4225a8
call fcn.004074fc
test eax, eax
jne 0x40c397
push 0xfffffffffffffffe
pop ebx
jmp 0x40c4a0
push str.GetOemInfo_OpenRequest_succeed._n
call fcn.0040b9f0
pop ecx
push ebx
push ebx
push ebx
push ebx
lea esi, [ebp - 0x22c]
call fcn.00407552
test eax, eax
jne 0x40c3b9
push 0xfffffffffffffffd
jmp 0x40c391
push str.GetOemInfo_SendRequest_succeed._n
call fcn.0040b9f0
pop ecx
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0040768d
test eax, eax
jne 0x40c3df
push 0xfffffffffffffffc
jmp 0x40c391
cmp dword [ebp - 0x224], ebx
je 0x40c3f9
push dword [ebp - 0x224]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x228], ebx
je 0x40c413
push dword [ebp - 0x228]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x228], ebx
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.00410e35
pop ecx
pop ecx
inc eax
inc eax
push str.oem.xml
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x218]
push 0x425600
push eax
call fcn.00411c79
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x40c464
push 0xfffffffffffffffb
jmp 0x40c391
push ebx
push ebx
push esi
call fcn.004121ad
mov eax, dword [ebp - 0x21c]
push esi
push dword [eax - 0xc]
push 1
push eax
call fcn.004122fd
push esi
call fcn.00411d36
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
call fcn.0040c506
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x238]
add eax, 0xfffffff0
call fcn.00402528
mov eax, dword [ebp - 0x234]
add eax, 0xfffffff0
call fcn.00402528
lea eax, [edi - 0x10]
call fcn.00402528
mov eax, dword [ebp - 0x21c]
add eax, 0xfffffff0
call fcn.00402528
mov eax, dword [ebp - 0x230]
add eax, 0xfffffff0
call fcn.00402528
pop edi
lea esi, [ebp - 0x22c]
call fcn.0040747e
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
pop ebx
call fcn.00412aab
leave
ret 4