Function at 0x40a136
Capabilities:
Delete file

Disassembly:
mov eax, 0x41a6c9
call fcn.00410f20
sub esp, 0x230
mov eax, dword [0x4240b8]
push ebx
push esi
mov dword [ebp - 0x10], eax
call fcn.00409f47
lea eax, [ebp - 0x22c]
push eax
call fcn.004067e3
xor ebx, ebx
mov dword [ebp - 4], ebx
push dword [0x424c6c]
lea eax, [ebp - 0x22c]
push 0x4256d8
call fcn.00406883
test eax, eax
jne 0x40a188
or ebx, 0xffffffff
jmp 0x40a4d2
push edi
push str.GetOemInfo_connect_succeed._n
call fcn.00409adb
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.0040f29b
pop ecx
pop ecx
mov esi, eax
mov eax, dword [0x424e6c]
mov edi, 0x424e6c
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x230], eax
push esi
mov byte [ebp - 4], 1
push dword [0x424e3c]
lea eax, [ebp - 0x230]
push eax
call fcn.004023bd
add esp, 0xc
push dword [ebp - 0x230]
lea eax, [ebp - 0x22c]
push 0x41e090
call fcn.004068d1
test eax, eax
jne 0x40a1f7
push 0xfffffffffffffffe
pop ebx
jmp 0x40a4c3
push str.GetOemInfo_OpenRequest_succeed._n
call fcn.00409adb
lea eax, [ebp - 0x21c]
mov dword [esp], 0x41cd34
push eax
call fcn.0040af27
push ebx
push ebx
push ebx
push ebx
lea esi, [ebp - 0x22c]
mov byte [ebp - 4], 2
call fcn.00406927
test eax, eax
jne 0x40a233
push 0xfffffffffffffffd
pop ebx
jmp 0x40a4b5
push str.GetOemInfo_SendRequest_succeed._n
call fcn.00409adb
pop ecx
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00406a62
test eax, eax
jne 0x40a259
push 0xfffffffffffffffc
jmp 0x40a22d
cmp dword [ebp - 0x224], ebx
je 0x40a273
push dword [ebp - 0x224]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x228], ebx
je 0x40a28d
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 0x40a2a4
push ebx
call fcn.0040a4f7
jmp 0x40a4b5
mov eax, dword [0x424e6c]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov byte [ebp - 4], 3
mov eax, dword [0x424e6c]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
mov byte [ebp - 4], 4
mov eax, dword [0x424e6c]
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.00405291
mov edi, dword [ebp + 8]
push edi
push str.GetOemInfo_Read__s_n
call fcn.00409adb
pop ecx
pop ecx
push ebx
push ebx
push edi
lea ecx, [ebp - 0x22c]
call fcn.00406b3a
mov esi, eax
push esi
push str.GetOemInfo_URL_size__d_n
call fcn.00409adb
cmp esi, ebx
pop ecx
pop ecx
jg 0x40a32d
or ebx, 0xffffffff
jmp 0x40a491
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.00406cfb
push dword [ebp - 0x23c]
lea eax, [ebp - 0x22c]
push dword [ebp - 0x234]
call fcn.00406883
test eax, eax
je 0x40a325
push dword [ebp - 0x238]
lea eax, [ebp - 0x22c]
push 0x41e090
call fcn.004068d1
test eax, eax
jne 0x40a388
push 0xfffffffffffffffe
pop ebx
jmp 0x40a491
push str.GetOemInfo_OpenRequest_succeed._n
call fcn.00409adb
pop ecx
push ebx
push ebx
push ebx
push ebx
lea esi, [ebp - 0x22c]
call fcn.00406927
test eax, eax
jne 0x40a3aa
push 0xfffffffffffffffd
jmp 0x40a382
push str.GetOemInfo_SendRequest_succeed._n
call fcn.00409adb
pop ecx
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00406a62
test eax, eax
jne 0x40a3d0
push 0xfffffffffffffffc
jmp 0x40a382
cmp dword [ebp - 0x224], ebx
je 0x40a3ea
push dword [ebp - 0x224]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x228], ebx
je 0x40a404
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.0040f2ff
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 0x4200a0
push eax
call fcn.0040fa0d
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x40a455
push 0xfffffffffffffffb
jmp 0x40a382
push ebx
push ebx
push esi
call fcn.0040feeb
mov eax, dword [ebp - 0x21c]
push esi
push dword [eax - 0xc]
push 1
push eax
call fcn.0041003b
push esi
call fcn.0040faca
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
call fcn.0040a4f7
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x238]
add eax, 0xfffffff0
call fcn.0040252d
mov eax, dword [ebp - 0x234]
add eax, 0xfffffff0
call fcn.0040252d
lea eax, [edi - 0x10]
call fcn.0040252d
mov eax, dword [ebp - 0x21c]
add eax, 0xfffffff0
call fcn.0040252d
mov eax, dword [ebp - 0x230]
add eax, 0xfffffff0
call fcn.0040252d
pop edi
lea esi, [ebp - 0x22c]
call fcn.00406853
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
pop ebx
call fcn.00410727
leave
ret 4