Function at 0x40ef2c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xf8
mov eax, 0x463bc6
call fcn.00461b38
mov ebx, ecx
mov dword [ebp - 0xf0], ebx
xor eax, eax
mov dword [ebp - 0xe8], eax
cmp byte [ebx + 0x58], al
jne 0x40f8a2
cmp dword [ebx], eax
je 0x40f8a2
push 0x4871b8
push eax
lea ecx, [ebx + 8]
call fcn.00410a02
mov edi, 0x487948
lea ecx, [ebx + 8]
push edi
push 0
call fcn.00410a02
lea ecx, [ebp - 0x104]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x58]
push str.testid
call fcn.00401a71
push 1
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x104]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetInteger_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_]
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.00401ca4
push edi
lea ecx, [ebp - 0x28]
call fcn.00406192
push str.testname
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.00401a71
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::SysWideToUTF8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x104]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
xor edi, edi
lea ecx, [ebp - 0x40]
push 0
inc edi
push edi
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x58]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004061c2
push 0x14
call fcn.00460973
mov esi, eax
pop ecx
mov dword [ebp - 0xec], esi
mov ecx, esi
mov byte [ebp - 4], 5
call dword [sym.imp.infra.dll_public:_void___thiscall_base::ListValue::constructor_void_]
push str.contents
lea ecx, [ebp - 0x58]
mov dword [esi], 0x487590
mov byte [ebp - 4], 0
call fcn.00401a71
push esi
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x104]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::Set_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_base::Value__]
push 0
push edi
lea ecx, [ebp - 0x58]
call fcn.00401ca4
mov al, byte [ebp - 0x18]
lea esi, [ebx + 0xe8]
mov byte [ebp - 0x90], al
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x8f], al
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0x487bd4
mov dword [ebp - 0x94], 0x40f8e1
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x74], eax
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.004086ef
lea eax, [esi + 0x18]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x70]
call fcn.004086ef
lea eax, [esi + 0x34]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xc8]
call fcn.004086ef
lea eax, [esi + 0x4c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x58]
call fcn.004086ef
push 0xe8
mov byte [ebp - 4], 0xb
call fcn.00460973
pop ecx
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x98]
push dword [ebx]
push ecx
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0xc8]
push ecx
push dword [esi + 0x30]
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0040aa8a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.00411099
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x88]
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x84], eax
mov byte [ebp - 4], 0xd
test ecx, ecx
je 0x40f16f
call fcn.00401229
mov byte [ebp - 4], 0xb
mov ecx, dword [ebx + 0x84]
call fcn.0040ac41
push 0
push edi
lea ecx, [ebp - 0x58]
call fcn.004061c2
push 0
push edi
lea ecx, [ebp - 0xc8]
call fcn.004061c2
push 0
push edi
lea ecx, [ebp - 0x70]
call fcn.004061c2
push 0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.004061c2
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
lea eax, [esi + 0x64]
push eax
lea ecx, [ebp - 0x70]
call fcn.004086ef
lea eax, [esi + 0x7c]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x40]
call fcn.004086ef
push 0x80
mov byte [ebp - 4], 0xf
call fcn.00460973
pop ecx
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x98]
push dword [ebx]
push ecx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.00417984
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.00411108
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x90]
mov dword [ebx + 0x90], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x8c], eax
mov byte [ebp - 4], 0x11
test ecx, ecx
je 0x40f242
call fcn.00401229
mov byte [ebp - 4], 0xf
mov ecx, dword [ebx + 0x8c]
call fcn.004179fe
push 0
push edi
lea ecx, [ebp - 0x40]
call fcn.004061c2
push 0
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.004061c2
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0xd0
call fcn.00460973
pop ecx
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x98]
push dword [ebx]
push ecx
mov ecx, eax
call fcn.004092a2
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.00411099
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x98]
mov dword [ebx + 0x98], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x94], eax
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x40f2d4
call fcn.00401229
lea eax, [esi + 0xc8]
mov byte [ebp - 4], 7
mov ecx, dword [ebx + 0x94]
push eax
lea eax, [esi + 0xb0]
push eax
push dword [esi + 0xac]
lea eax, [esi + 0x94]
push eax
call fcn.00409460
mov ecx, dword [ebx + 0x94]
call fcn.00409563
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0x38
call fcn.00460973
mov esi, eax
pop ecx
mov dword [ebp - 0xf4], esi
mov dword [ebp - 4], 0x14
mov edi, dword [ebx]
push edi
mov eax, dword [edi]
call dword [eax + 0xb8]
mov dword [ebp - 0xe8], eax
mov ecx, esi
lea eax, [ebp - 0x98]
push eax
call fcn.00407859
push 0
push 0
lea ecx, [esi + 0x28]
mov byte [ebp - 4], 0x16
call dword [sym.imp.infra.dll_public:_void___thiscall_base::WaitableEvent::constructor_bool__bool_]
mov byte [ebp - 4], 0x17
lea eax, [esi + 0x2c]
mov dword [ebp - 0x14], eax
mov dword [eax], edi
test edi, edi
je 0x40f370
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov byte [ebp - 4], 7
mov byte [esi + 0x30], cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x18]
push esi
mov dword [esi + 0x34], eax
call fcn.00411169
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xa0]
mov dword [ebx + 0xa0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x9c], eax
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x40f3b6
call fcn.00401229
mov byte [ebp - 4], 7
mov ecx, dword [ebx + 0x9c]
call fcn.004117e5
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0x38
call fcn.00460973
mov esi, eax
pop ecx
mov dword [ebp - 0x14], esi
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x19
mov edi, dword [ebx]
mov ecx, esi
push eax
call fcn.00407859
push 0
push 0
lea ecx, [esi + 0x28]
mov byte [ebp - 4], 0x1a
call dword [sym.imp.infra.dll_public:_void___thiscall_base::WaitableEvent::constructor_bool__bool_]
mov byte [ebp - 4], 0x1b
lea eax, [esi + 0x2c]
mov dword [ebp - 0xf4], eax
mov dword [eax], edi
test edi, edi
je 0x40f41a
mov eax, dword [edi]
push edi
call dword [eax + 4]
xor eax, eax
mov byte [ebp - 4], 7
push esi
lea ecx, [ebp - 0x18]
mov byte [esi + 0x30], al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00411169
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xa8]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xa4], eax
mov byte [ebp - 4], 0x1c
test ecx, ecx
je 0x40f457
call fcn.00401229
mov byte [ebp - 4], 7
mov ecx, dword [ebx + 0xa4]
call fcn.0040687a
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0xb8
call fcn.00460973
mov edi, eax
pop ecx
mov dword [ebp - 0x14], edi
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x1d
mov esi, dword [ebx]
push eax
mov ecx, dword [edx]
push edx
call dword [ecx + 0x11c]
mov ecx, eax
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x98]
push dword [ebx]
mov dword [ebp - 0xe8], 1
push eax
push dword [ebx + 0x228]
lea eax, [ebx + 0x210]
push eax
lea eax, [ebx + 0x1f8]
push eax
lea eax, [ebx + 0x1e0]
push eax
lea eax, [ebx + 0x1c8]
push eax
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0xb8]
push eax
mov ecx, edi
call fcn.0040cf25
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.004111ca
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xb0]
mov dword [ebx + 0xb0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xac], eax
mov dword [ebp - 4], 0x22
test ecx, ecx
je 0x40f526
call fcn.00401229
push 0
push 1
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 7
call fcn.00401ca4
mov ecx, dword [ebx + 0xac]
call fcn.0040cfd4
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0x90
call fcn.00460973
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x98]
push dword [ebx]
push eax
push dword [ebx + 0x280]
lea eax, [ebx + 0x260]
push dword [ebx + 0x27c]
push dword [ebx + 0x278]
push eax
push dword [ebx + 0x25c]
lea eax, [ebx + 0x244]
push eax
lea eax, [ebx + 0x22c]
push eax
call fcn.00416612
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.0041122b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xb8]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xb4], eax
mov byte [ebp - 4], 0x24
test ecx, ecx
je 0x40f5d7
call fcn.00401229
mov byte [ebp - 4], 7
mov ecx, dword [ebx + 0xb4]
call fcn.00416b8f
cmp byte [ebx + 0x58], 0
jne 0x40f6ae
push 0x80
call fcn.00460973
mov edi, eax
pop ecx
mov dword [ebp - 0x14], edi
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x25
mov esi, dword [ebx]
push eax
mov ecx, dword [edx]
push edx
call dword [ecx + 0x11c]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x98]
push dword [ebx]
mov dword [ebp - 0xe8], 2
push ecx
push eax
mov eax, dword [esi]
push esi
call dword [eax + 0xb8]
push eax
lea eax, [ebx + 0x29c]
mov ecx, edi
push eax
lea eax, [ebx + 0x284]
push eax
call fcn.004088bb
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
push eax
call fcn.0041128c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xc0]
mov dword [ebx + 0xc0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xbc], eax
mov dword [ebp - 4], 0x2a
test ecx, ecx
je 0x40f690
call fcn.00401229
push 0
push 1
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 7
call fcn.00401ca4
mov ecx, dword [ebx + 0xbc]
call fcn.0040893d
mov esi, dword [ebx + 0x330]
mov edi, dword [ebx + 0x334]
mov byte [ebp - 0xe1], 1
cmp esi, edi
je 0x40f7fe
push esi
lea ecx, [ebp - 0xe0]
call fcn.0040f8aa
push 0x10
mov byte [ebp - 4], 0x2b
call fcn.00460973
mov ebx, eax
pop ecx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov byte [ebp - 4], 0x2c
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
push str.test
lea ecx, [ebp - 0x40]
mov dword [ebx], 0x4875d0
mov byte [ebp - 4], 0x2b
call fcn.00401a71
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::SysWideToUTF8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x2e
push eax
mov ecx, ebx
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2b
call fcn.00401ca4
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x58]
call fcn.004086ef
push str.result
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2f
call fcn.00401a71
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::SysWideToUTF8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x31
push eax
mov ecx, ebx
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2f
call fcn.00401ca4
mov ecx, dword [ebp - 0xec]
push ebx
call dword [sym.imp.infra.dll_public:_void___thiscall_base::ListValue::Append_class_base::Value__]
push 0x486e24
lea ecx, [ebp - 0x58]
call fcn.00410b99
neg eax
lea ecx, [ebp - 0x58]
push 0
sbb al, al
and byte [ebp - 0xe1], al
push 1
call fcn.004061c2
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 7
call fcn.004076f8
add esi, 0x30
cmp esi, edi
jne 0x40f6c9
mov ebx, dword [ebp - 0xf0]
mov edi, dword [ebx + 0x334]
mov esi, dword [ebx + 0x330]
jmp 0x40f816
mov ecx, esi
call fcn.004076f8
add esi, 0x30
cmp esi, edi
jne 0x40f80c
mov eax, dword [ebx + 0x330]
and dword [ebp - 0xa0], 0
mov dword [ebx + 0x334], eax
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x32
push eax
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.infra.dll_public:_static_bool___cdecl_base::JSONWriter::Write_class_base::Value_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
pop ecx
pop ecx
lea eax, [ebp - 0xb0]
push eax
xor eax, eax
lea ecx, [ebx + 0x30]
cmp byte [ebp - 0xe1], al
setne al
add eax, 2
push eax
push 1
call fcn.004109de
push 0
push 1
lea ecx, [ebp - 0xb0]
call fcn.00401ca4
lea ecx, [ebp - 0x98]
call fcn.00401ac6
lea ecx, [ebp - 0x104]
call dword [sym.imp.infra.dll_public_virtual:_void___thiscall_base::DictionaryValue::destructor_void_]
mov al, 1
jmp 0x40f8a4
xor al, al
call fcn.00461ae2
ret