Function at 0x401260
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40dde5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x28d8
call fcn.004066d0
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [ebp - 0x10], esp
lea eax, [esi + 0x3c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x4c], eax
mov eax, dword [eax]
push eax
call edi
mov ecx, dword [esi + 0x38]
push ecx
call edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x3d7]
mov byte [ebp - 0x3d8], bl
mov byte [ebp - 0x12c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x12b]
mov byte [ebp - 0x108], bl
rep stosd dword es:[edi], eax
mov ecx, 8
lea edi, [ebp - 0x107]
rep stosd dword es:[edi], eax
mov ecx, 8
lea edi, [ebp - 0x77]
mov byte [ebp - 0x78], bl
mov byte [ebp - 0x5e0], bl
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x5df]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x6e3]
mov byte [ebp - 0x6e4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x2d3]
mov byte [ebp - 0x2d4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0xbe3]
mov byte [ebp - 0xbe4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [ebp - 0xbe4]
push 0x30
push edx
push str.6fb4d0e7f91e274d607d9aadd5c1122753729185b3dae7071f46
mov dword [ebp - 0x1c], 0xffffffff
stosb byte es:[edi], al
call fcn.00403fb0
add esp, 0xc
lea eax, [ebp - 0x2d4]
lea ecx, [ebp - 0xbe4]
push 0x104
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea edx, [ebp - 0x3d8]
push edx
call fcn.00403ae0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x8e3]
mov byte [ebp - 0x8e4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x8e4]
push 0x30
push eax
push str.a1aeaebf86c3ced7
call fcn.00403fb0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0xae3]
mov byte [ebp - 0xae4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0xae4]
push 0x30
push ecx
push str.b2afbfcfd4d7f5b6f8160e
stosb byte es:[edi], al
call fcn.00403fb0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x9e3]
mov byte [ebp - 0x9e4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [ebp - 0x9e4]
push 0x30
push edx
push str.b1adbccbcfdfa4e4f600
stosb byte es:[edi], al
call fcn.00403fb0
mov ecx, 0x41
xor eax, eax
mov edi, 0x4142d4
add esp, 0x28
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x8e4]
lea ecx, [ebp - 0x2d4]
push eax
push ecx
push 0x4100bc
push 0x4142d4
call fcn.0040667d
add esp, 0x10
lea edx, [ebp - 0xae4]
lea eax, [ebp - 0x2d4]
lea ecx, [ebp - 0x5e0]
push edx
push eax
push 0x4100c4
push ecx
call fcn.0040667d
add esp, 0x10
lea edx, [ebp - 0x9e4]
lea eax, [ebp - 0x2d4]
lea ecx, [ebp - 0x6e4]
push edx
push eax
push 0x4100cc
push ecx
call fcn.0040667d
add esp, 0x10
mov dword [ebp - 0x20], ebx
xor esi, esi
mov edx, dword [ebp - 0x4c]
push ebx
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
cmp edi, 0x102
jne 0x401e5e
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x3c
jl 0x40148f
cmp edi, edi
jne 0x401e5e
mov ecx, dword [ebp - 0x1c]
push 0xffffffffffffffff
inc ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x20]
push ecx
push 0x4100d4
push 0x4143d8
push 0x80000002
call fcn.00403810
mov eax, dword [ebp - 0x20]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x40151c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x5460
div ecx
push edx
push str.ts_shift2
push 0x4143d8
push 0x80000002
mov dword [ebp - 0x20], edx
call fcn.00403610
add esp, 0x10
push ebx
call fcn.004065a1
mov edi, dword [ebp - 0x20]
lea edx, [ebp - 0x38]
add eax, edi
push edx
mov dword [ebp - 0x38], eax
call fcn.00406441
push eax
push 0x4100ec
lea eax, [ebp - 0x78]
push 0x64
push eax
call fcn.00405b50
mov eax, dword [ebp - 0x1c]
mov ecx, 0x3c
cdq
idiv ecx
add esp, 0x18
mov esi, edx
cmp esi, ebx
jne 0x4018b5
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x10e7]
mov byte [ebp - 0x10e8], bl
rep stosd dword es:[edi], eax
push 0x4100f8
lea edx, [ebp - 0x10e8]
stosw word es:[edi], ax
push 0x410100
push edx
push 0x4142d4
push 0x4101a8
stosb byte es:[edi], al
call fcn.00402730
add esp, 0x14
lea eax, [ebp - 0x10e8]
push ebx
push 0x7530
push 0x4142d4
push eax
call fcn.00402970
add esp, 0x10
cmp al, bl
jne 0x4015f5
push 0x4101b0
lea ecx, [ebp - 0x10e8]
push str.ea489ae8044b9d3388c7e47fc31a71bd0362a7ff4faebc43a1f10589ea3c919f2377dae67ac41e3fb1145f85fc4da1f44764e7395ab2fe82a4f749caee44921638badd2d820127a6f44a6eed3e62e40552aa
push ecx
push 0x4142d4
push 0x410260
call fcn.00402730
add esp, 0x14
lea edx, [ebp - 0x10e8]
push ebx
push 0x7530
push 0x4142d4
push edx
call fcn.00402970
add esp, 0x10
mov byte [ebp - 0x11], al
cmp esi, ebx
jne 0x4018b5
push 0x4142d4
call fcn.00403b80
add esp, 4
cmp al, bl
je 0x4018b5
lea eax, [ebp - 0x108]
push 0x21
push eax
push 0x410268
push 0x4144dc
push 0x80000002
call fcn.00403860
add esp, 0x14
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0xbf]
mov byte [ebp - 0xc0], bl
push ebx
rep stosd dword es:[edi], eax
call fcn.004065a1
lea ecx, [ebp - 0x50]
sub eax, 0xb4
push ecx
mov dword [ebp - 0x50], eax
call fcn.00406441
push eax
push str._Y__m__d
lea edx, [ebp - 0xc0]
push 0x64
push edx
call fcn.00405b50
add esp, 0x18
lea eax, [ebp - 0x108]
lea ecx, [ebp - 0xc0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4018b5
lea edx, [ebp - 0xc0]
push edx
push str.last2
push 0x4144dc
push 0x80000002
call fcn.00403690
add esp, 0x10
lea eax, [ebp - 0xc0]
lea ecx, [ebp - 0x108]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x18e7]
mov byte [ebp - 0x18e8], bl
rep stosd dword es:[edi], eax
xor edx, edx
push 0x30
stosw word es:[edi], ax
mov dword [ebp - 0x33], edx
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x2f], edx
stosb byte es:[edi], al
mov dword [ebp - 0x2b], edx
lea eax, [ebp - 0x34]
mov word [ebp - 0x27], dx
push eax
push str.a3afb1b07b
mov byte [ebp - 0x25], dl
call fcn.00403fb0
add esp, 0xc
lea ecx, [ebp - 0x18e8]
lea edx, [ebp - 0x34]
push 0x4142d4
push 0x104
push ecx
push edx
push 0x410290
call fcn.004041f0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x14e7]
mov byte [ebp - 0x14e8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
add esp, 0x14
mov dword [ebp - 0x47], eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x43], eax
push 0x30
mov dword [ebp - 0x3f], eax
push ecx
mov word [ebp - 0x3b], ax
push str.a6b5babcb7d0cde2
mov esi, 1
mov byte [ebp - 0x48], bl
mov byte [ebp - 0x39], al
call fcn.00403fb0
add esp, 0xc
lea edx, [ebp - 0x14e8]
lea eax, [ebp - 0x48]
push 0x4142d4
push 0x104
push edx
push eax
push 0x4102ac
call fcn.004041f0
add esp, 0x14
lea ecx, [ebp - 0x14e8]
push 0x4142d4
push 0x104
push ecx
push str.nurl_per
push 0x4102c0
call fcn.004041f0
add esp, 0x14
lea edx, [ebp - 0x14e8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401882
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x20e7]
mov byte [ebp - 0x20e8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x20e8]
push 0x30
push eax
push str.9fb2b9bc8d8990
call fcn.00403fb0
add esp, 0xc
lea ecx, [ebp - 0x20e8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40185a
push ebx
push ebx
lea edx, [ebp - 0x20e8]
push 0x7530
push edx
call fcn.00402ec0
add esp, 0x10
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40184d
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push 0x4102d8
push edi
call esi
test eax, eax
je 0x401848
push 0x4102dc
push edi
call esi
test eax, eax
je 0x401848
xor esi, esi
jmp 0x40184d
mov esi, 1
push edi
call fcn.004055a2
add esp, 4
cmp esi, ebx
je 0x401882
lea eax, [ebp - 0x14e8]
push eax
call fcn.00405b45
add esp, 4
mov esi, eax
call fcn.004049c0
xor edx, edx
mov ecx, 0x64
div ecx
xor eax, eax
cmp edx, esi
setl al
mov esi, eax
lea ecx, [ebp - 0x18e8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4018b5
cmp esi, ebx
je 0x4018b5
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x18e8]
add edx, 0x44
push edx
push 0x7530
push eax
call fcn.00403320
add esp, 0xc
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 5
jl 0x4018cf
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x40191a
lea edx, [ebp - 0x5e0]
push edx
call fcn.00403b80
add esp, 4
cmp al, bl
je 0x40191a
lea eax, [ebp - 0x6e4]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
je 0x40191a
push str.ShowRMR
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x401913
lea ecx, [ebp - 0x5e0]
push 0x413ca8
push ecx
call eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x1c]
mov ecx, 0x2d0
cdq
idiv ecx
cmp edx, ebx
mov dword [ebp - 0x24], edx
jne 0x401be1
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x1cf]
mov byte [ebp - 0x1d0], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [ebp - 0x1d0]
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x1d0]
push 0x30
push edx
rep stosd dword es:[edi], eax
push str.96aaa2a87d
call fcn.00403fb0
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x9b]
add esp, 0xc
mov byte [ebp - 0x9c], bl
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x9c]
push 0x21
lea ecx, [ebp - 0x1d0]
push eax
push ecx
push 0x4145e0
push 0x80000002
call fcn.00403860
add esp, 0x14
lea edx, [ebp - 0x9c]
push edx
call esi
test eax, eax
jg 0x4019e3
lea eax, [ebp - 0x9c]
push str.92afbfcfb4d3ebe9fa031b
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x9c]
lea edx, [ebp - 0x1d0]
push ecx
push edx
push 0x4145e0
push 0x80000002
call fcn.00403690
add esp, 0x10
push 0x4142d4
call fcn.00403b80
add esp, 4
cmp al, bl
je 0x401be1
lea eax, [ebp - 0x12c]
push 0x21
push eax
push 0x41030c
push 0x4144dc
push 0x80000002
call fcn.00403860
add esp, 0x14
lea ecx, [ebp - 0x12c]
lea edx, [ebp - 0x78]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x401be1
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x16b]
mov byte [ebp - 0x16c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x16c]
push 0x20
push eax
push 0x410314
push 0x4143d8
push 0x80000002
call fcn.00403860
add esp, 0x14
lea ecx, [ebp - 0x16c]
push ecx
call esi
test eax, eax
jne 0x401b0a
mov ecx, 0xff
lea edi, [ebp - 0x24e7]
mov byte [ebp - 0x24e8], bl
push 0x41031c
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x24e8]
push 0x410324
stosw word es:[edi], ax
push edx
push 0x4142d4
push str.getdist
stosb byte es:[edi], al
call fcn.00402730
add esp, 0x14
lea eax, [ebp - 0x24e8]
push ebx
push ebx
push 0x7530
push eax
call fcn.00402ec0
add esp, 0x10
mov edi, eax
push edi
call esi
cmp eax, ebx
jle 0x401b01
push 6
push str._DIST_
push edi
call fcn.0040d160
add esp, 0xc
test eax, eax
jne 0x401b01
lea ecx, [edi + 6]
push ecx
push str.dist
push 0x4143d8
push 0x80000002
call fcn.00403690
add esp, 0x10
push edi
call fcn.004055a2
add esp, 4
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1ce7]
mov byte [ebp - 0x1ce8], bl
rep stosd dword es:[edi], eax
push 0x4142d4
lea edx, [ebp - 0x1ce8]
stosw word es:[edi], ax
push 0x104
push edx
push str.uv_url
push str.config
stosb byte es:[edi], al
call fcn.004041f0
add esp, 0x14
lea eax, [ebp - 0x1ce8]
push eax
call esi
test eax, eax
jle 0x401baa
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x28e7]
mov byte [ebp - 0x28e8], bl
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x1ce8]
push 0x4103f0
lea edx, [ebp - 0x28e8]
push ecx
stosw word es:[edi], ax
push edx
push 0x4142d4
push str.uvlog
stosb byte es:[edi], al
call fcn.00402730
mov eax, dword [ebp - 0x18]
add esp, 0x14
add eax, 0x44
lea ecx, [ebp - 0x28e8]
push eax
push 0x7530
push ecx
call fcn.00403320
add esp, 0xc
lea edx, [ebp - 0x78]
push edx
push str.last
push 0x4144dc
push 0x80000002
call fcn.00403690
add esp, 0x10
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x12c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 0x18]
call fcn.00401e90
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x24]
xor esi, esi
cmp eax, ebx
jne 0x401e52
push 0x4142d4
call fcn.00403b80
add esp, 4
cmp al, bl
je 0x401d54
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x14b]
mov byte [ebp - 0x14c], bl
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x14c]
push 0x20
stosw word es:[edi], ax
push edx
push 0x410408
push 0x4143d8
push 0x80000002
stosb byte es:[edi], al
call fcn.00403860
add esp, 0x14
lea eax, [ebp - 0x14c]
push eax
call fcn.00405b45
add esp, 4
test eax, eax
jg 0x401d54
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xce7]
mov byte [ebp - 0xce8], bl
rep stosd dword es:[edi], eax
push 0x4142d4
lea ecx, [ebp - 0xce8]
stosw word es:[edi], ax
push 0x104
push ecx
push 0x41040c
push str.version
stosb byte es:[edi], al
call fcn.004041f0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x4db]
mov byte [ebp - 0x4dc], bl
rep stosd dword es:[edi], eax
add esp, 0x14
lea edx, [ebp - 0x4dc]
stosw word es:[edi], ax
push 0x4142d4
push 0x104
push edx
push str.percent
push str.patch
stosb byte es:[edi], al
call fcn.004041f0
add esp, 0x14
lea eax, [ebp - 0x4dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401cfc
lea ecx, [ebp - 0x4dc]
push ecx
call fcn.00405b45
add esp, 4
mov edi, eax
call fcn.004049c0
xor edx, edx
mov ecx, 0x64
div ecx
cmp edx, edi
jl 0x401d54
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x7e3]
mov byte [ebp - 0x7e4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [ebp - 0x7e4]
push edx
push 0x413ccc
stosb byte es:[edi], al
call fcn.00403360
add esp, 8
lea eax, [ebp - 0x7e4]
lea ecx, [ebp - 0xce8]
push eax
push ecx
call fcn.00403480
add esp, 8
cmp eax, ebx
jle 0x401d54
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x3d8]
push ebx
push edx
call fcn.00401f00
mov esi, eax
cmp dword [ebp - 0x24], ebx
jne 0x401e52
cmp esi, ebx
jne 0x401e52
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0xe3]
mov byte [ebp - 0xe4], bl
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xe4]
push 0x21
push eax
push 0x410428
push 0x4143d8
push 0x80000002
call fcn.00403860
add esp, 0x14
lea ecx, [ebp - 0xe4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401e52
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0xe4]
push 7
push edx
call fcn.004020c0
cmp eax, ebx
je 0x401e52
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x18f]
mov byte [ebp - 0x190], bl
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x190]
push 0x21
push eax
push 0x41042c
push 0x4143d8
push 0x80000002
call fcn.00403860
add esp, 0x14
lea ecx, [ebp - 0x190]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jg 0x401e52
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x3d8]
push 1
push edx
call fcn.00401f00
cmp eax, ebx
je 0x401e52
lea eax, [ebp - 0x78]
push eax
push str.isthp
push 0x4143d8
push 0x80000002
call fcn.00403690
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
jmp 0x40148d
mov dword [ebp - 4], 0xffffffff
jmp 0x40148d
call fcn.00403c50
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret