Function at 0x40e430
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Parse pe header
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54539d
mov eax, dword fs:[0]
push eax
sub esp, 0x588
mov eax, dword [0x5bf364]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp + 0xc]
xor edi, edi
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x5c], edi
call fcn.00405c90
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x1f4]
call fcn.00405c90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c8]
call fcn.00405c90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x19c]
mov dword [edx + 0x110], edi
call fcn.00405c90
mov byte [ebp - 4], 3
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x190], str.aria2c.exe
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x19c]
call fcn.0047ac40
test eax, eax
jle 0x40e50c
push eax
push edi
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x18c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov eax, dword [ebx + 0xc]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test eax, eax
jne 0x40e53d
cmp dword [ebx + 0x24], eax
mov eax, 0x580994
je 0x40e53d
mov eax, dword [ebx + 0x1c]
mov ecx, 0x580994
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e568
test dx, dx
je 0x40e564
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e568
add eax, 4
add ecx, 4
test dx, dx
jne 0x40e542
xor eax, eax
jmp 0x40e56d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e61c
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x98]
call fcn.00405c90
lea edx, [ebp - 0x98]
mov dword [ebp - 0x5c], 1
xor ecx, ecx
call fcn.00496e90
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd4]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x44]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00405870
mov edi, 1
mov dword [ebp - 0x5c], edi
and edi, 0xfffffffe
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x88]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - 0x98], vtable.CVolObject.0
jmp 0x40e72f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd4]
call dword [eax + 0x44]
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x44]
lea eax, [ebx + 0x10]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00405870
push 1
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0049cd20
mov byte [ebp - 4], 0xb
mov edx, 0x588690
mov ecx, eax
call fcn.00412340
mov esi, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test esi, esi
je 0x40e72f
push 0x588690
mov edx, ebx
lea ecx, [ebp - 0x144]
call fcn.0049d910
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd4]
mov edx, dword [ebp - 0xd4]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0xc4]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00405870
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
push str.aria2c.exe
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x144]
call fcn.0049d910
add esp, 4
mov byte [ebp - 4], 0x11
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x40e760
cmp dword [eax + 0x24], ecx
mov ecx, 0x580994
je 0x40e760
mov ecx, dword [eax + 0x1c]
call fcn.00497830
mov esi, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test esi, esi
je 0x40f804
xor eax, eax
lea edx, [ebp - 0xd4]
cmp dword [ebp + 0x24], eax
lea ecx, [ebp - 0x144]
push str.dht.dat
setne al
mov dword [ebp - 0xa8], eax
call fcn.0049d910
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1c8]
mov edx, dword [ebp - 0x1c8]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x1c4], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1c0], ecx
lea ecx, [ebp - 0x1b8]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1b8]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00405870
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x170]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00405c90
mov byte [ebp - 4], 0x17
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x164], 0x58823c
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x98]
call fcn.00405c90
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x98], vtable.CWConstString.0
mov dword [ebp - 0x8c], 0x588690
mov byte [ebp - 4], 0x1a
mov ebx, 0x580994
mov ecx, dword [ebp - 0x164]
test ecx, ecx
jne 0x40e88b
cmp dword [ebp - 0x14c], 0
mov ecx, ebx
cmovne ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x40e89f
cmp dword [ebp - 0x74], 0
mov eax, ebx
cmovne eax, dword [ebp - 0x7c]
push 0
sub esp, 8
push ecx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0049c170
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x88]
call fcn.00405c00
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x98], vtable.CVolObject.0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x160]
call fcn.00405c00
mov byte [ebp - 4], 2
lea edx, [ebp - 0xd4]
push 0x588240
lea ecx, [ebp - 0x144]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.0049d910
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f4]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1ec], ecx
lea ecx, [ebp - 0x1e4]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00405870
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x170]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00405c90
mov byte [ebp - 4], 0x24
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x164], 0x58823c
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x98]
call fcn.00405c90
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x98], vtable.CWConstString.0
mov dword [ebp - 0x8c], 0x588690
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x164]
test ecx, ecx
jne 0x40e9d7
cmp dword [ebp - 0x14c], 0
mov ecx, ebx
cmovne ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x40e9eb
cmp dword [ebp - 0x74], 0
mov eax, ebx
cmovne eax, dword [ebp - 0x7c]
push 0
sub esp, 8
push ecx
push eax
lea ecx, [ebp - 0x1f4]
call fcn.0049c170
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x88]
call fcn.00405c00
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x98], vtable.CVolObject.0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x160]
call fcn.00405c00
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x6c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0xc]
call dword [eax + 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 4]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esi + 0x1c]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x64]
lea ecx, [esi + 0x1c]
add eax, 0x10
push eax
call fcn.00405870
mov eax, dword [esi + 0x38]
lea ecx, [esi + 0x38]
call dword [eax + 0x44]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 4]
mov dword [esi + 0x3c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esi + 0x48]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x60]
lea ecx, [esi + 0x48]
add eax, 0x10
push eax
call fcn.00405870
lea ecx, [ebp - 0x2a4]
call fcn.00405c90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2a4]
push str.__saria2c.exe____conf_path__saria2.conf____save_session__saria2.session____input_file__saria2.session____rpc_listen_port_s___listen_port_s___dht_listen_port_s___enable_rpctrue___rpc_allow_origin_alltrue___disable_ipv6false___rpc_secret_s___enable_dhttrue___enable_dht6true___dht_file_path__s____dht_file_path6__s____bt_external_ip_s___stop_with_process_d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWString.0
call fcn.0049c380
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x220]
call fcn.00405c90
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x278]
push eax
call fcn.0040fb40
mov esi, eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x144]
call fcn.00405c90
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 0x32
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x68], ecx
test ecx, ecx
jne 0x40eb33
cmp dword [esi + 0x24], ecx
jne 0x40eb2d
mov dword [ebp - 0x68], 0x580994
jmp 0x40eb33
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x40eb59
cmp dword [ebp - 0x1d0], 0
mov eax, ebx
cmovne eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xa0], ecx
test ecx, ecx
jne 0x40eb7e
cmp dword [ebp - 0x1a4], ecx
mov eax, ebx
cmovne eax, dword [ebp - 0x1ac]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x60], eax
test eax, eax
jne 0x40eb9f
cmp dword [ecx + 0x24], eax
jne 0x40eb99
mov dword [ebp - 0x60], 0x580994
jmp 0x40eb9f
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x40ebb9
cmp dword [eax + 0x24], esi
mov esi, 0x580994
je 0x40ebb9
mov esi, dword [eax + 0x1c]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x40ebd3
cmp dword [eax + 0x24], edx
mov edx, 0x580994
je 0x40ebd3
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x40ebea
cmp dword [eax + 0x24], ecx
mov ecx, 0x580994
je 0x40ebea
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xc8]
test eax, eax
jne 0x40ec04
cmp dword [ebp - 0xb0], 0
mov eax, ebx
cmovne eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x298], 0
mov ebx, 0x580994
je 0x40ec1a
mov ebx, dword [ebp - 0x298]
jmp 0x40ec28
cmp dword [ebp - 0x280], 0
cmovne ebx, dword [ebp - 0x288]
push dword [ebp - 0xe0]
push dword [ebp - 0x68]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0x60]
push esi
push edx
push ecx
push eax
push eax
push eax
push eax
push ebx
push dword [ebp - 0xa4]
call fcn.0049d2c0
add esp, 0x38
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x40ec6a
cmp dword [eax + 0x24], ecx
mov ecx, 0x580994
je 0x40ec6a
mov ecx, dword [eax + 0x1c]
push dword [ebp - 0xa8]
call fcn.00497930
add esp, 4
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 0x31
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x268]
call fcn.00405c00
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x144]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00457280
mov esi, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x220]
mov edx, dword [ebp - 0x220]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x21c], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x210]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x210]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x210]
call fcn.00405870
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 0x30
mov dword [ebp - 0xfc], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 0xfc], vtable.CVolObject.0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0xfc], vtable.CVolMem.0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe4], 0x40
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x24c]
call fcn.00405c90
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x58]
call fcn.00408190
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x19c]
call fcn.00405c90
mov byte [ebp - 4], 0x3e
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x190], str.aria2c.exe
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x19c]
call fcn.0047ac40
mov esi, eax
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x18c]
call fcn.00405c00
mov byte [ebp - 4], 0x3d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test esi, esi
je 0x40f729
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], eax
cmp dword [ebx + 0x110], 0
jne 0x40f723
mov dword [ebp - 0xa8], 0
lea ecx, [ebp - 0x4e4]
call fcn.0045c460
mov esi, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x3d8]
call fcn.00405c90
mov byte [ebp - 4], 0x45
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x3cc], 0x580994
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x3ac]
call fcn.00405c90
mov byte [ebp - 4], 0x47
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x3a0], 0x580994
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x380]
call fcn.00405c90
mov byte [ebp - 4], 0x49
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x374], 0x580994
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x354]
call fcn.00405c90
mov byte [ebp - 4], 0x4b
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x348], 0x580994
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x328]
call fcn.00405c90
mov byte [ebp - 4], 0x4d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x31c], 0x580994
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x2fc]
call fcn.00405c90
mov byte [ebp - 4], 0x4f
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x2f0], 0x580994
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x2d0]
call fcn.00405c90
mov byte [ebp - 4], 0x51
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x2c4], 0x580994
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x98], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x98], vtable.CVolObject.0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x98], vtable.CWString.0
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x88], vtable.CVolObject.0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov byte [ebp - 4], 0x54
mov dword [ebp - 0x88], vtable.CVolMem.0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x70], 0x40
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x70], 0xfe
mov byte [ebp - 4], 0x56
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov byte [ebp - 4], 0x57
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolMem.0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x100], 0x40
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x404]
call fcn.00405c90
mov byte [ebp - 4], 0x59
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x3f8], str.http:__127.0.0.1:
mov byte [ebp - 4], 0x5a
lea edx, [ebp - 0x404]
push dword [ebp - 0x64]
lea ecx, [ebp - 0x568]
call fcn.0049d790
mov byte [ebp - 4], 0x5b
mov edx, eax
push str._jsonrpc_tm
lea ecx, [ebp - 0x53c]
call fcn.0049d910
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x220]
push ecx
mov edx, eax
lea ecx, [ebp - 0x510]
call fcn.0049d790
add esp, 0xc
mov byte [ebp - 4], 0x5d
or dword [esi + 4], 1
or dword [ebp - 0x94], 1
or dword [ebp - 0x114], 1
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x3d8]
push esi
push ecx
push 1
push 0x1388
lea ecx, [ebp - 0x3ac]
push ecx
lea ecx, [ebp - 0x380]
push ecx
lea ecx, [ebp - 0x354]
push ecx
lea ecx, [ebp - 0x328]
push ecx
lea ecx, [ebp - 0x2fc]
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x2d0]
push ecx
lea ecx, [ebp - 0x98]
push ecx
lea ecx, [ebp - 0x118]
push ecx
push 0x5c6820
push 1
push eax
lea eax, [ebp - 0x160]
mov ecx, 0x5c7328
push eax
call fcn.00458ef0
or edi, 2
mov dword [ebp - 0x5c], edi
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x44]
cmp eax, fcn.00404130
je 0x40f158
lea ecx, [ebp - 0xfc]
call eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xfc]
call fcn.00405870
and edi, 0xfffffffd
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 0x5d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolMem.0
mov byte [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x40f1b1
mov eax, dword [ebp - 0x160]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CMStringArray.virtual_12
jne 0x40f1a9
mov ecx, 0x5c6708
call fcn.0049a2e0
jmp 0x40f1b1
lea ecx, [ebp - 0x160]
call eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x150], 0
mov byte [ebp - 4], 0x5d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x500]
call fcn.00405c00
mov byte [ebp - 4], 0x5c
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x52c]
call fcn.00405c00
mov byte [ebp - 4], 0x5b
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x558]
call fcn.00405c00
mov byte [ebp - 4], 0x5a
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x3f4]
call fcn.00405c00
mov byte [ebp - 4], 0x58
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x56
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolMem.0
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
je 0x40f292
mov eax, dword [ebp - 0x118]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CMStringArray.virtual_12
jne 0x40f28a
mov ecx, 0x5c6708
call fcn.0049a2e0
jmp 0x40f292
lea ecx, [ebp - 0x118]
call eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 0x56
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x88]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x88], vtable.CVolMem.0
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x40f308
mov eax, dword [ebp - 0x88]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CMStringArray.virtual_12
jne 0x40f300
mov ecx, 0x5c6708
call fcn.0049a2e0
jmp 0x40f308
lea ecx, [ebp - 0x88]
call eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 4], 0x6a
mov dword [ebp - 0x88], vtable.CVolObject.0
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x98], vtable.CVolObject.0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x2c0]
call fcn.00405c00
mov byte [ebp - 4], 0x50
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x2ec]
call fcn.00405c00
mov byte [ebp - 4], 0x4e
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x318]
call fcn.00405c00
mov byte [ebp - 4], 0x4c
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x344]
call fcn.00405c00
mov byte [ebp - 4], 0x4a
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x370]
call fcn.00405c00
mov byte [ebp - 4], 0x48
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x39c]
call fcn.00405c00
mov byte [ebp - 4], 0x46
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x80
lea ecx, [ebp - 0x3c8]
call fcn.00405c00
mov byte [ebp - 4], 0x44
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x86
lea eax, [ebp - 0x430]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x420]
call fcn.00405c00
mov byte [ebp - 4], 0x86
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x85
lea eax, [ebp - 0x464]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x8a
lea eax, [ebp - 0x458]
mov dword [ebp - 0x9c], eax
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CMStringArray.0
mov byte [ebp - 4], 0x8c
mov ecx, eax
call fcn.00492860
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x454]
call fcn.00405c00
mov byte [ebp - 4], 0x85
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x84
lea eax, [ebp - 0x490]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x480]
call fcn.00405c00
mov byte [ebp - 4], 0x84
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x83
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x4ac]
call fcn.00405c00
mov byte [ebp - 4], 0x83
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x4d8]
call fcn.00405c00
mov byte [ebp - 4], 0x3d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x19c]
call fcn.00405c90
lea eax, [ebp - 0xa8]
or edi, 4
push eax
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x5c], edi
lea ecx, [ebp - 0xfc]
call fcn.00411ef0
mov eax, dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
add esp, 4
call dword [eax + 0x44]
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x23c]
call dword [eax + 0x44]
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x23c]
call fcn.00405870
and edi, 0xfffffffb
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x18c]
call fcn.00405c00
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x24c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
push eax
lea ecx, [ebp - 0x58]
call fcn.00452920
test eax, eax
je 0x40f6d9
lea ecx, [ebp - 0x278]
call fcn.00405c90
mov byte [ebp - 4], 0x96
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x26c], str._result_version
mov byte [ebp - 4], 0x97
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x58]
call fcn.00452e60
mov esi, eax
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x268]
call fcn.00405c00
mov byte [ebp - 4], 0x3d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test esi, esi
je 0x40f6d9
lea ecx, [ebp - 0x144]
call fcn.00405c90
mov byte [ebp - 4], 0x9b
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x138], str._result_version
mov byte [ebp - 4], 0x9c
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x594]
push eax
lea ecx, [ebp - 0x58]
call fcn.004529c0
mov byte [ebp - 4], 0x9d
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x40f664
cmp dword [eax + 0x24], ecx
mov ecx, 0x580994
je 0x40f664
mov ecx, dword [eax + 0x1c]
mov eax, 0x580994
nop dword [eax]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x40f696
test dx, dx
je 0x40f692
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x40f696
add ecx, 4
add eax, 4
test dx, dx
jne 0x40f670
xor esi, esi
jmp 0x40f69b
sbb esi, esi
or esi, 1
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x584]
call fcn.00405c00
mov byte [ebp - 4], 0x9c
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x134]
call fcn.00405c00
mov byte [ebp - 4], 0x3d
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test esi, esi
jne 0x40f719
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
xor ecx, ecx
imul eax, dword [ebx + 0x114], 0x3e8
sub esi, dword [ebp - 0xa4]
sbb ecx, ecx
cdq
cmp ecx, edx
jg 0x40f723
jl 0x40f700
cmp esi, eax
jae 0x40f723
mov ecx, 1
call fcn.004571b0
cmp dword [ebx + 0x110], 0
je 0x40ee24
jmp 0x40f723
mov dword [ebx + 0x110], 1
mov esi, dword [ebx + 0x110]
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x48]
call fcn.00411a80
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x58], vtable.CVolObject.0
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0x23c]
call fcn.00405c00
mov byte [ebp - 4], 0x3b
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x30
mov dword [ebp - 0xfc], vtable.CVolMem.0
mov byte [ebp - 4], 0xa7
mov edx, dword [ebp - 0xf0]
test edx, edx
je 0x40f79e
mov eax, dword [ebp - 0xfc]
push edx
mov eax, dword [eax + 0xc]
cmp eax, method.CMStringArray.virtual_12
jne 0x40f796
mov ecx, 0x5c6708
call fcn.0049a2e0
jmp 0x40f79e
lea ecx, [ebp - 0xfc]
call eax
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], 0
mov byte [ebp - 4], 0x30
mov dword [ebp - 0xfc], vtable.CVolObject.0
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x210]
call fcn.00405c00
mov byte [ebp - 4], 0x2f
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x294]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x1b8]
call fcn.00405c00
mov byte [ebp - 4], 1
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0xae
lea ecx, [ebp - 0x1e4]
call fcn.00405c00
mov byte [ebp - 4], 0
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 4], 0xb0
lea ecx, [ebp - 0xc4]
call fcn.00405c00
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov dword [ebp - 0xd4], vtable.CVolObject.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050ec8c
mov esp, ebp
pop ebp
ret 0x20