Function at 0x42e9a0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x480
push ebx
mov dword [ebp - 0x18], 0
mov eax, dword [0x4ae214]
mov edx, dword [eax + 0xc]
push esi
push edi
mov ecx, 0x4ae214
call edx
lea esi, [eax + 0x10]
push 0x104
lea eax, reloc.NETAPI32.dll_NetApiBufferFree
push eax
push 0
mov dword [ebp - 8], esi
mov dword [ebp - 0x2c], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x42f538
lea ecx, reloc.NETAPI32.dll_NetApiBufferFree
push ecx
lea ecx, [ebp - 0x30]
call fcn.00405690
mov edi, dword [ebp - 0x30]
push 0x5c
push edi
call dword [sym.imp.MSVCR100.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x42ea7b
sub eax, edi
sar eax, 1
cmp eax, reloc.NETAPI32.dll_NetApiBufferFree
je 0x42ea7b
inc eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x30]
call fcn.00405d70
mov edi, str.baidubrowser.exe
mov ebx, eax
lea esi, [ebp - 0x10]
call fcn.00405dd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00406470
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42ea59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ea78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 8]
xor ebx, ebx
push str.http
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.00405690
lea eax, [ebp - 0x10]
lea edi, [ebp - 0x40]
call fcn.00406190
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eac6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.https
lea ecx, [ebp - 0x10]
call fcn.00405690
lea eax, [ebp - 0x10]
lea edi, [ebp - 0x40]
call fcn.00406190
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eafd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str..htm
lea ecx, [ebp - 0x10]
call fcn.00405690
lea eax, [ebp - 0x10]
lea edi, [ebp - 0x60]
call fcn.00406190
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eb34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str..html
lea ecx, [ebp - 0x10]
call fcn.00405690
lea eax, [ebp - 0x10]
lea edi, [ebp - 0x60]
call fcn.00406190
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eb6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x58], 6
jl 0x42f4ef
lea edx, [ebp - 0x18]
push edx
push str._n_vSN
push 3
push ebx
push 0x497350
mov dword [ebp - 0x18], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x42ef3f
push 0x206
lea ecx, reloc.NETAPI32.dll_NetApiBufferFree
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x274], ax
call sub.MSVCR100.dll_memset
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
sub ecx, eax
sar ecx, 2
add esp, 0xc
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ecx
cmp ecx, ebx
jbe 0x42ed45
mov dword [ebp - 0xc], eax
mov edx, dword [0x4ae214]
mov eax, dword [edx + 0xc]
mov ecx, 0x4ae214
call eax
push 0x3c
add eax, 0x10
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts_
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.004069f0
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], ecx
jbe 0x42edb9
mov esi, dword [ebp - 0xc]
mov eax, dword [esi]
mov edx, 1
sub edx, dword [eax - 4]
or edx, dword [eax - 8]
jge 0x42ec20
push 0
mov ecx, esi
call fcn.00406eb0
mov edx, dword [esi]
test edx, edx
jne 0x42ec2a
xor eax, eax
jmp 0x42ec3f
mov eax, edx
lea edi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ec30
sub eax, edi
sar eax, 1
push eax
push edx
lea ebx, [ebp + 8]
call fcn.004064e0
push 0xb
push str.UserChoice
call fcn.004064e0
mov esi, dword [ebp + 8]
mov eax, 1
sub eax, dword [esi - 4]
or eax, dword [esi - 8]
jge 0x42ec71
push 0
mov ecx, ebx
call fcn.00406eb0
mov esi, dword [ebp + 8]
push esi
lea edi, reloc.NETAPI32.dll_NetApiBufferFree
call fcn.0042e400
test eax, eax
jne 0x42ed12
mov edi, dword [ebp - 0xc]
mov eax, dword [edi]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x42eca0
push 0
mov ecx, edi
call fcn.00406eb0
mov edx, dword [edi]
test edx, edx
jne 0x42ecaa
xor eax, eax
jmp 0x42ecbf
mov eax, edx
lea edi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ecb0
sub eax, edi
sar eax, 1
push eax
push edx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49cb3c
call fcn.004064e0
lea eax, reloc.NETAPI32.dll_NetApiBufferFree
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ece0
sub eax, edx
sar eax, 1
push eax
lea edx, reloc.NETAPI32.dll_NetApiBufferFree
push edx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49a3d8
call fcn.004064e0
mov dword [ebp - 0x2c], 0
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ed2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0xc], 4
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x14]
jb 0x42ebd4
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc], 0
sar ecx, 2
test ecx, ecx
je 0x42eef9
mov edx, dword [0x4ae214]
mov eax, dword [edx + 0xc]
mov ecx, 0x4ae214
call eax
push 0x3e
add eax, 0x10
push str.SoftwareMicrosoftWindowsShellAssociationsUrlAssociations_
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.004069f0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
sub edx, eax
sar edx, 2
cmp edx, ecx
jbe 0x42edb9
lea edi, [eax + ecx*4]
mov eax, dword [edi]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x42edaf
push 0
mov ecx, edi
call fcn.00406eb0
mov edi, dword [edi]
test edi, edi
jne 0x42edc4
xor eax, eax
jmp 0x42eddf
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42edd0
sub eax, edx
sar eax, 1
push eax
push edi
lea ebx, [ebp + 8]
call fcn.004064e0
push 0xb
push str.UserChoice
call fcn.004064e0
mov esi, dword [ebp + 8]
mov edx, 1
sub edx, dword [esi - 4]
or edx, dword [esi - 8]
jge 0x42ee11
push 0
mov ecx, ebx
call fcn.00406eb0
mov esi, dword [ebp + 8]
push esi
lea edi, reloc.NETAPI32.dll_NetApiBufferFree
call fcn.0042e400
test eax, eax
jne 0x42eec2
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
sub edx, eax
sar edx, 2
cmp edx, ecx
jbe 0x42edb9
lea edi, [eax + ecx*4]
mov eax, dword [edi]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x42ee52
push 0
mov ecx, edi
call fcn.00406eb0
mov edi, dword [edi]
test edi, edi
jne 0x42ee5c
xor eax, eax
jmp 0x42ee70
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ee61
sub eax, edx
sar eax, 1
push eax
push edi
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49cb3c
call fcn.004064e0
lea eax, reloc.NETAPI32.dll_NetApiBufferFree
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ee90
sub eax, edx
sar eax, 1
push eax
lea edx, reloc.NETAPI32.dll_NetApiBufferFree
push edx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49a3d8
call fcn.004064e0
mov dword [ebp - 0x2c], 0
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eede
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0xc]
inc eax
sar ecx, 2
mov dword [ebp - 0xc], eax
cmp eax, ecx
jb 0x42ed5d
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x42ef08
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [ebp - 0x60]
call fcn.00414880
lea ebx, [ebp - 0x40]
call fcn.00414880
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ef37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
jmp 0x42fd52
push 0x49c224
lea ecx, [ebp - 0x1c]
call fcn.00405690
mov edx, dword [0x4ae214]
mov eax, dword [edx + 0xc]
mov ecx, 0x4ae214
call eax
add eax, 0x10
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
call fcn.0042b6c0
test eax, eax
mov eax, dword [ebp - 0x10]
je 0x42ef7e
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ebx, [ebp - 0x1c]
call fcn.004064e0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov eax, edx
sub eax, ecx
xor esi, esi
sar eax, 2
mov dword [ebp - 0x20], esi
test eax, eax
je 0x42f1ab
mov edx, dword [ebp + 8]
cmp dword [edx + 0x58], 0xa
mov dword [ebp - 0xc], 1
jne 0x42efc3
cmp eax, esi
jbe 0x42edb9
mov ecx, dword [ecx + esi*4]
push 1
push ecx
lea edi, [ebp - 0xc]
call fcn.0042bd50
add esp, 8
jmp 0x42efe6
cmp eax, esi
jbe 0x42edb9
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + esi*4]
mov edx, dword [eax]
lea edi, [ebp - 0xc]
push edi
mov edi, dword [ebp - 0x1c]
push edi
push 1
push 1
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
test eax, eax
js 0x42eff6
cmp dword [ebp - 0xc], 0
jne 0x42f192
jmp 0x42f003
cmp dword [ebp - 0xc], 0
jne 0x42f188
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
sub edx, ecx
sar edx, 2
cmp edx, esi
jbe 0x42edb9
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + esi*4]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea edi, [ebp - 0x28]
push edi
push 1
push 1
push ecx
push eax
call edx
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.00405690
mov edi, dword [ebp - 0x14]
cmp dword [edi - 0xc], 0
jl 0x42f094
push 0x497d4c
push edi
call dword [sym.imp.MSVCR100.dll_wcsstr]
add esp, 8
test eax, eax
je 0x42f094
sub eax, edi
sar eax, 1
cmp eax, reloc.NETAPI32.dll_NetApiBufferFree
je 0x42f094
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x14]
call fcn.00405d70
push eax
lea ecx, [ebp - 0x14]
call fcn.00406470
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f091
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x14]
test edi, edi
jne 0x42f09c
xor esi, esi
jmp 0x42f0ad
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
test esi, esi
je 0x42f1cb
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
sub ecx, ebx
sar ecx, 2
cmp ecx, eax
jbe 0x42edb9
lea ebx, [ebx + eax*4]
mov eax, dword [ebx]
mov edx, 1
sub edx, dword [eax - 4]
or edx, dword [eax - 8]
jge 0x42f0de
push 0
mov ecx, ebx
call fcn.00406eb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x42f0e8
xor eax, eax
jmp 0x42f0ff
mov eax, ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f0f0
sub eax, edx
sar eax, 1
push eax
push ebx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49cb3c
call fcn.004064e0
mov eax, 1
sub eax, dword [edi - 4]
or eax, dword [edi - 8]
jge 0x42f12f
push 0
lea ecx, [ebp - 0x14]
call fcn.00406eb0
mov edi, dword [ebp - 0x14]
test edi, edi
jne 0x42f137
xor eax, eax
jmp 0x42f14f
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f140
sub eax, edx
sar eax, 1
push eax
push edi
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49a3d8
call fcn.004064e0
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f188
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov eax, edx
sub eax, ecx
inc esi
sar eax, 2
mov dword [ebp - 0x20], esi
cmp esi, eax
jb 0x42ef98
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], 0
sar eax, 2
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42f480
mov esi, dword [ebp - 0x20]
jmp 0x42f1db
push 0x8007000e
call fcn.0040b800
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x58], 0xa
mov dword [ebp - 0xc], 1
jne 0x42f215
sub edx, ecx
sar edx, 2
cmp edx, esi
jbe 0x42edb9
mov ecx, dword [ecx + esi*4]
lea ebx, [esi*4]
push 0
push ecx
lea edi, [ebp - 0xc]
mov dword [ebp - 0x28], ebx
call fcn.0042bd50
add esp, 8
jmp 0x42f246
cmp dword [ebp - 0x14], esi
jbe 0x42edb9
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0xc]
push edi
mov edi, dword [ebp - 0x1c]
push edi
push 1
lea ebx, [esi*4]
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
mov dword [ebp - 0x28], ebx
call eax
test eax, eax
js 0x42f256
cmp dword [ebp - 0xc], 0
jne 0x42f473
jmp 0x42f263
cmp dword [ebp - 0xc], 0
jne 0x42f469
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x14], esi
jbe 0x42edb9
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x64]
push edx
mov edx, dword [ebp - 0x60]
mov edx, dword [edx + ebx]
push 1
push 0
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x24]
call fcn.00405690
mov esi, dword [ebp - 0x24]
cmp dword [esi - 0xc], 0
jl 0x42f37f
push 0x497d4c
push esi
call dword [sym.imp.MSVCR100.dll_wcsstr]
add esp, 8
test eax, eax
je 0x42f37f
sub eax, esi
sar eax, 1
cmp eax, reloc.NETAPI32.dll_NetApiBufferFree
je 0x42f37f
mov ebx, eax
test eax, eax
jns 0x42f2cb
xor ebx, ebx
cmp ebx, dword [esi - 0xc]
jl 0x42f2e4
add esi, 0xfffffff0
push esi
call fcn.00406aa0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x2c], edi
jmp 0x42f351
mov ecx, dword [esi - 0x10]
test ecx, ecx
je 0x42f2f6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
jne 0x42f30e
mov edx, dword [0x4ae214]
mov eax, dword [edx + 0x10]
mov ecx, 0x4ae214
call eax
test eax, eax
je 0x42f4d6
mov edx, dword [eax]
push 2
mov ecx, eax
mov eax, dword [edx]
push ebx
call eax
test eax, eax
je 0x42f4e0
lea edi, [eax + 0x10]
mov dword [ebp - 0x2c], edi
test ebx, ebx
js 0x42f4e5
cmp ebx, dword [edi - 8]
jg 0x42f4e5
lea eax, [ebx + ebx]
push eax
push esi
push eax
xor ecx, ecx
mov dword [edi - 0xc], ebx
push edi
mov word [eax + edi], cx
call dword [sym.imp.MSVCR100.dll_memcpy_s]
add esp, 0x10
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x24]
call fcn.00406470
add edi, 0xfffffff0
lea eax, [edi + 0xc]
or ecx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f379
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
test esi, esi
jne 0x42f387
xor edi, edi
jmp 0x42f398
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x42f1cb
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
sub ecx, eax
sar ecx, 2
cmp ecx, dword [ebp - 0x20]
jbe 0x42edb9
add ebx, eax
mov eax, dword [ebx]
mov edx, 1
sub edx, dword [eax - 4]
or edx, dword [eax - 8]
jge 0x42f3c6
push 0
mov ecx, ebx
call fcn.00406eb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x42f3d0
xor eax, eax
jmp 0x42f3e4
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f3d5
sub eax, edx
sar eax, 1
push eax
push ebx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49cb3c
call fcn.004064e0
mov eax, 1
sub eax, dword [esi - 4]
or eax, dword [esi - 8]
jge 0x42f414
push 0
lea ecx, [ebp - 0x24]
call fcn.00406eb0
mov esi, dword [ebp - 0x24]
test esi, esi
jne 0x42f41c
xor eax, eax
jmp 0x42f430
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f421
sub eax, edx
sar eax, 1
push eax
push esi
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49a3d8
call fcn.004064e0
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f469
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0
inc esi
mov dword [ebp - 0x20], esi
cmp esi, dword [ebp - 0x14]
jb 0x42f1d5
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f49f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f4be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x42fc93
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x42fc93
push 0x80004005
call fcn.0040b800
call fcn.00406620
push 0x80070057
call fcn.0040b800
mov ecx, dword [ebp - 0x30]
push 0x104
lea eax, reloc.NETAPI32.dll_NetApiBufferFree
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x42f55f
lea ebx, [ebp - 0x60]
call fcn.00414880
lea ebx, [ebp - 0x40]
call fcn.00414880
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42f538
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f554
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, reloc.NETAPI32.dll_NetApiBufferFree
push ecx
lea ecx, [ebp - 0x20]
call fcn.00405690
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
sub eax, ecx
xor edx, edx
sar eax, 2
mov dword [ebp - 0x14], edx
cmp eax, ebx
ja 0x42f5e8
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
sub ecx, eax
sar ecx, 2
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x42fc74
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
xor edi, edi
cmp dword [ebp - 0x14], ecx
jbe 0x42edb9
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], edi
lea ecx, [esi - 4]
jl 0x42fa52
cmp eax, dword [esi - 0x10]
jne 0x42fa52
lea ebx, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x42fa87
mov edx, dword [ebp - 0x14]
cmp eax, edx
jbe 0x42edb9
lea ebx, [ecx + edx*4]
mov edi, str._shellopencommand
lea esi, [ebp - 0x1c]
call fcn.00405dd0
push 0x20019
mov edx, esi
push edx
xor edi, edi
push 0x80000000
lea esi, [ebp - 0x50]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
call fcn.004265e0
mov eax, dword [0x4ae214]
mov edx, dword [eax + 0xc]
mov ecx, 0x4ae214
call edx
add eax, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x50], edi
je 0x42f65f
push 0x498b64
lea ecx, [ebp - 0x10]
call fcn.00405690
or dword [ebp - 0x18], 1
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
push ecx
lea esi, [ebp - 0xc]
call fcn.00426640
test eax, eax
je 0x42f65f
xor bl, bl
jmp 0x42f661
mov bl, 1
test byte [ebp - 0x18], 1
je 0x42f68a
mov eax, dword [ebp - 0x10]
and dword [ebp - 0x18], 0xfffffffe
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42f68a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x42f952
lea ebx, [ebp - 0xc]
call fcn.00406260
mov ebx, eax
call fcn.004062e0
mov eax, dword [ebp - 0xc]
xor esi, esi
cmp dword [eax - 0xc], esi
je 0x42fa0b
lea ecx, [ebp - 0x64]
push ecx
push eax
mov dword [ebp - 0x64], esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x24]
call fcn.00405690
lea ebx, [ebp - 0x24]
call fcn.00406260
mov ebx, eax
call fcn.004062e0
mov ecx, dword [ebp - 0x24]
push 0x104
lea eax, reloc.NETAPI32.dll_NetApiBufferFree
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea edx, reloc.NETAPI32.dll_NetApiBufferFree
push edx
lea ecx, [ebp - 0x28]
call fcn.00405690
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42f4d6
push eax
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x42f893
mov edx, dword [0x4ae214]
mov eax, dword [edx + 0xc]
mov ecx, 0x4ae214
call eax
mov ecx, dword [ebp - 0x24]
lea esi, [eax + 0x10]
push 0x5c
push ecx
mov dword [ebp + 8], esi
call dword [sym.imp.MSVCR100.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x42f77a
mov edx, dword [ebp - 0x24]
sub eax, edx
sar eax, 1
mov ecx, eax
cmp ecx, reloc.NETAPI32.dll_NetApiBufferFree
je 0x42f77a
mov eax, dword [edx - 0xc]
sub eax, ecx
lea edx, [ebp - 0x24]
dec eax
push edx
lea ecx, [ebp - 0x68]
call fcn.00405cf0
push eax
lea ecx, [ebp + 8]
call fcn.00406470
lea ecx, [ebp - 0x68]
call fcn.00405660
mov esi, dword [ebp + 8]
cmp dword [esi - 0xc], edi
jge 0x42f784
or eax, reloc.NETAPI32.dll_NetApiBufferFree
jmp 0x42f7a0
push 0x497d4c
push esi
call dword [sym.imp.MSVCR100.dll_wcsstr]
add esp, 8
test eax, eax
jne 0x42f79c
or eax, reloc.NETAPI32.dll_NetApiBufferFree
jmp 0x42f7a0
sub eax, esi
sar eax, 1
lea ecx, [ebp - 0x44]
lea edx, [ebp + 8]
call fcn.00405d70
push eax
lea ecx, [ebp + 8]
call fcn.00406470
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f7d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp + 8]
test esi, esi
jne 0x42f7de
xor ebx, ebx
jmp 0x42f7ef
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
test ebx, ebx
je 0x42f1cb
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
sub ecx, eax
sar ecx, 2
cmp ecx, dword [ebp - 0x14]
jbe 0x42edb9
mov edx, dword [ebp - 0x14]
lea edi, [eax + edx*4]
mov eax, dword [edi]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x42f821
push 0
mov ecx, edi
call fcn.00406eb0
mov edx, dword [edi]
lea eax, [ebp - 8]
call fcn.00405790
mov edx, 0x49cb3c
lea eax, [ebp - 8]
call fcn.00405790
mov edx, 1
sub edx, dword [esi - 4]
or edx, dword [esi - 8]
jge 0x42f852
push 0
lea ecx, [ebp + 8]
call fcn.00406eb0
mov esi, dword [ebp + 8]
mov edx, esi
lea eax, [ebp - 8]
call fcn.00405790
mov edx, 0x49a3d8
lea eax, [ebp - 8]
call fcn.00405790
push ebx
mov dword [ebp - 0x2c], 0
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f893
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f8b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f8d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f8f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
xor esi, esi
cmp eax, esi
je 0x42f903
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x50]
cmp eax, esi
je 0x42f914
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f933
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x14]
sub eax, ecx
inc edx
sar eax, 2
mov dword [ebp - 0x14], edx
cmp edx, eax
jb 0x42f5e5
jmp 0x42f582
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f971
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
cmp eax, edi
je 0x42f982
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x50]
cmp eax, edi
je 0x42f993
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f9b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f9d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [ebp - 0x60]
call fcn.00414880
lea ebx, [ebp - 0x40]
call fcn.00414880
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fa00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
jmp 0x42f53b
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fa27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
cmp eax, esi
je 0x42fa38
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x50]
cmp eax, esi
je 0x42f993
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x50], esi
jmp 0x42f993
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
cmp ebx, edi
je 0x42f4e0
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
lea eax, [eax + eax + 2]
push eax
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call dword [sym.imp.MSVCR100.dll_memcpy_s]
add esp, 0x10
lea edx, [ebp - 0x48]
push edx
push 0x20019
push edi
add ebx, 0x10
push ebx
push 0x80000000
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x42fab0
mov dword [ebp - 0x48], edi
mov eax, dword [0x4ae214]
mov edx, dword [eax + 0xc]
mov ecx, 0x4ae214
call edx
add eax, 0x10
mov dword [ebp + 8], eax
cmp dword [ebp - 0x48], edi
je 0x42faf3
push 0x498b64
lea ecx, [ebp - 0xc]
call fcn.00405690
or dword [ebp - 0x18], 2
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea esi, [ebp + 8]
call fcn.00426640
test eax, eax
je 0x42faf3
xor bl, bl
jmp 0x42faf5
mov bl, 1
test byte [ebp - 0x18], 2
je 0x42fb1e
mov eax, dword [ebp - 0xc]
and dword [ebp - 0x18], 0xfffffffd
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42fb1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x42fd77
lea ebx, [ebp + 8]
call fcn.00406260
mov ebx, eax
call fcn.004062e0
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
je 0x42fdc0
push str.BaiduBrowserHTML
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x42fc00
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x42fb74
push ebx
mov ecx, esi
call fcn.00406eb0
mov edx, dword [esi]
cmp edx, ebx
jne 0x42fb7e
xor eax, eax
jmp 0x42fb92
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x42fb83
sub eax, esi
sar eax, 1
push eax
push edx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49cb3c
call fcn.004064e0
mov edx, dword [ebp + 8]
mov eax, 1
sub eax, dword [edx - 4]
or eax, dword [edx - 8]
jge 0x42fbc5
push 0
lea ecx, [ebp + 8]
call fcn.00406eb0
mov edx, dword [ebp + 8]
test edx, edx
jne 0x42fbcd
xor eax, eax
jmp 0x42fbe1
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42fbd2
sub eax, esi
sar eax, 1
push eax
push edx
lea ebx, [ebp - 8]
call fcn.004064e0
push 1
push 0x49a3d8
call fcn.004064e0
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fc1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x42fc30
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x42fc41
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fc60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x1c], 4
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x14]
jb 0x42f5a2
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fc93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x42fcd2
mov ebx, dword [ebp - 0x5c]
mov esi, edi
cmp edi, ebx
je 0x42fcc8
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fcc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, ebx
jne 0x42fca3
push edi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebp - 0x40], 0
je 0x42fd22
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
mov edi, eax
cmp esi, eax
je 0x42fd18
lea ecx, [ecx]
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x42fcf0
mov esi, dword [ebp - 0x40]
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x44]
cmp eax, edi
je 0x42fda7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x48]
cmp eax, edi
je 0x42fdb8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x28]
jmp 0x42f996
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.NETAPI32.dll_NetApiBufferFree
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fddc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x44]
cmp eax, ebx
je 0x42fded
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x42fdfe
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x28]
jmp 0x42f996