Function at 0x458f97
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e112
mov eax, dword fs:[0]
push eax
mov eax, 0x3124
call fcn.0054f020
mov eax, dword [0x5b31c8]
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 edi, ecx
mov dword [ebp - 0x3120], edi
xor ebx, ebx
mov dword [ebp - 0x3108], ebx
cmp byte [edi + 0x38], bl
je 0x458fe5
xor al, al
jmp 0x459c11
push 0x570130
push 0
lea ecx, [edi + 8]
call fcn.0045af41
push 0x57fd88
push 0
lea ecx, [edi + 8]
call fcn.0045af41
lea ecx, [ebp - 0x3130]
call fcn.00548530
and dword [ebp - 4], 0
lea ecx, [ebp - 0x30a0]
push str.testid
call fcn.00401b61
push 1
lea eax, [ebp - 0x30a0]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x3130]
call fcn.005498d0
push 0
push 1
lea ecx, [ebp - 0x30a0]
mov byte [ebp - 4], 0
call fcn.00401c56
push 0x57fd88
lea ecx, [ebp - 0x2ff8]
call fcn.00407674
push str.testname
lea ecx, [ebp - 0x3028]
mov byte [ebp - 4], 2
call fcn.00401b61
lea eax, [ebp - 0x2ff8]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x3100]
push eax
call fcn.00532fc0
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x3028]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x3130]
call fcn.00549920
push 0
push 1
lea ecx, [ebp - 0x3100]
call fcn.00401c56
push 0
push 1
lea ecx, [ebp - 0x3028]
call fcn.00401c56
push 0
push 1
lea ecx, [ebp - 0x2ff8]
mov byte [ebp - 4], 0
call fcn.00401c9b
push 0x14
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
pop ecx
mov dword [ebp - 0x3110], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4590fa
mov ecx, eax
call fcn.005485b0
mov esi, eax
mov dword [ebp - 0x310c], eax
jmp 0x459102
xor esi, esi
mov dword [ebp - 0x310c], esi
push str.contents
lea ecx, [ebp - 0x3058]
mov byte [ebp - 4], 0
call fcn.00401b61
push esi
lea eax, [ebp - 0x3058]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x3130]
call fcn.00549610
push 0
push 1
lea ecx, [ebp - 0x3058]
mov byte [ebp - 4], 0
call fcn.00401c56
push 0x459c4f
push 0x459c2d
push 0xd
push 0x38
lea eax, [ebp - 0x2fc8]
push eax
call fcn.0054f199
push 0x3ff
lea eax, [ebp - 0x20d7]
mov byte [ebp - 4], 7
push 0
push eax
mov byte [ebp - 0x20d8], 0
call sub.MSVCR120.dll_memset
mov ecx, dword [edi]
add esp, 0xc
call fcn.0044d5a6
mov esi, str._u7bvU_
mov dword [ebp - 0x2fc8], eax
mov ecx, esi
mov dword [ebp - 0x2fc4], 1
call fcn.00401511
push eax
push esi
lea ecx, [ebp - 0x2fc0]
call fcn.00401f42
push ecx
lea eax, [ebp - 0x20d8]
mov ecx, edi
push eax
call fcn.0045a214
lea ecx, [ebp - 0x20d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2fa8]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x4d7]
mov byte [ebp - 0x4d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
and dword [ebp - 0x2f90], 0
add esp, 0xc
mov esi, 0x57fda4
mov dword [ebp - 0x2f8c], 0x47
mov ecx, esi
call fcn.00401511
push eax
push esi
lea ecx, [ebp - 0x2f88]
call fcn.00401f42
push ecx
lea eax, [ebp - 0x4d8]
mov ecx, edi
push eax
call fcn.0045a5bb
lea ecx, [ebp - 0x4d8]
add eax, ecx
push eax
mov eax, ecx
push eax
lea ecx, [ebp - 0x2f70]
call fcn.0045afe9
and dword [ebp - 0x2f58], 0
lea edi, [ebp - 0xb4]
mov esi, 0x57fdc8
mov dword [ebp - 0x2f54], 0x60
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x57fdbc
mov ecx, esi
call fcn.00401511
push eax
push esi
lea ecx, [ebp - 0x2f50]
call fcn.00401f42
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x2f38]
call fcn.0045afe9
and dword [ebp - 0x2f20], 0
lea edi, [ebp - 0xd8]
push 9
pop ecx
mov esi, 0x57fde4
mov dword [ebp - 0x2f1c], 0x64
rep movsd dword es:[edi], dword [esi]
mov esi, 0x57fddc
mov ecx, esi
call fcn.00401511
push eax
push esi
lea ecx, [ebp - 0x2f18]
call fcn.00401f42
lea eax, [ebp - 0xb5]
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x2f00]
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x8d7]
mov byte [ebp - 0x8d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x70], 0x62b92c20
mov esi, 0x57fe24
mov dword [ebp - 0x6c], 0x5b0759ac
mov edi, 0xab74a0
mov dword [ebp - 0x68], 0x15074b96
mov ecx, esi
mov dword [ebp - 0x64], 0x704b232d
mov dword [ebp - 0x2ee8], edi
mov dword [ebp - 0x2ee4], 1
call fcn.00401511
push eax
push esi
lea ecx, [ebp - 0x2ee0]
call fcn.00401f42
mov esi, dword [ebp - 0x3120]
lea eax, [ebp - 0x70]
push eax
push edi
push ecx
lea eax, [ebp - 0x8d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x8d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2ec8]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0xcd7]
mov byte [ebp - 0xcd8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x50], 0x62b92c20
mov edi, 0x57fe08
mov dword [ebp - 0x4c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x48], 0x15074b96
mov dword [ebp - 0x44], 0x704b232d
mov dword [ebp - 0x2eb0], 0xab74a1
mov dword [ebp - 0x2eac], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2ea8]
call fcn.00401f42
lea eax, [ebp - 0x50]
push eax
push 0xab74a1
push ecx
lea eax, [ebp - 0xcd8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0xcd8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2e90]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x14d7]
mov byte [ebp - 0x14d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x90], 0x62b92c20
mov edi, 0x57fe5c
mov dword [ebp - 0x8c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x88], 0x15074b96
mov dword [ebp - 0x84], 0x704b232d
mov dword [ebp - 0x2e78], 0xab74a2
mov dword [ebp - 0x2e74], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2e70]
call fcn.00401f42
lea eax, [ebp - 0x90]
push eax
push 0xab74a2
push ecx
lea eax, [ebp - 0x14d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x14d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2e58]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x1cd7]
mov byte [ebp - 0x1cd8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x20], 0x62b92c20
mov dword [ebp - 0x1c], 0x5b0759ac
mov dword [ebp - 0x18], 0x15074b96
mov dword [ebp - 0x14], 0x704b232d
mov edi, 0x57fe40
mov dword [ebp - 0x2e40], 0xab74a3
mov ecx, edi
mov dword [ebp - 0x2e3c], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2e38]
call fcn.00401f42
lea eax, [ebp - 0x20]
push eax
push 0xab74a3
push ecx
lea eax, [ebp - 0x1cd8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x1cd8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2e20]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x24d7]
mov byte [ebp - 0x24d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x40], 0x62b92c20
mov edi, 0x57fe94
mov dword [ebp - 0x3c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x38], 0x15074b96
mov dword [ebp - 0x34], 0x704b232d
mov dword [ebp - 0x2e08], 0xab74a4
mov dword [ebp - 0x2e04], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2e00]
call fcn.00401f42
lea eax, [ebp - 0x40]
push eax
push 0xab74a4
push ecx
lea eax, [ebp - 0x24d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x24d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2de8]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x2cd7]
mov byte [ebp - 0x2cd8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x60], 0x62b92c20
mov edi, 0x57fe78
mov dword [ebp - 0x5c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x58], 0x15074b96
mov dword [ebp - 0x54], 0x704b232d
mov dword [ebp - 0x2dd0], 0xab74a5
mov dword [ebp - 0x2dcc], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2dc8]
call fcn.00401f42
lea eax, [ebp - 0x60]
push eax
push 0xab74a5
push ecx
lea eax, [ebp - 0x2cd8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x2cd8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2db0]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x18d7]
mov byte [ebp - 0x18d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x80], 0x62b92c20
mov edi, str._u7b1
mov dword [ebp - 0x7c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x78], 0x15074b96
mov dword [ebp - 0x74], 0x704b232d
mov dword [ebp - 0x2d98], 0xab74a6
mov dword [ebp - 0x2d94], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2d90]
call fcn.00401f42
lea eax, [ebp - 0x80]
push eax
push 0xab74a6
push ecx
lea eax, [ebp - 0x18d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x18d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2d78]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x10d7]
mov byte [ebp - 0x10d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0xa0], 0x62b92c20
mov ecx, edi
mov dword [ebp - 0x9c], 0x5b0759ac
mov dword [ebp - 0x98], 0x15074b96
mov dword [ebp - 0x94], 0x704b232d
mov dword [ebp - 0x2d60], 0xab74a6
mov dword [ebp - 0x2d5c], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2d58]
call fcn.00401f42
lea eax, [ebp - 0xa0]
push eax
push 0xab74a6
push ecx
lea eax, [ebp - 0x10d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x10d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2d40]
push eax
call fcn.0045afe9
push 0x3ff
lea eax, [ebp - 0x28d7]
mov byte [ebp - 0x28d8], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x30], 0x62b92c20
mov edi, 0x57feb0
mov dword [ebp - 0x2c], 0x5b0759ac
mov ecx, edi
mov dword [ebp - 0x28], 0x15074b96
mov dword [ebp - 0x24], 0x704b232d
mov dword [ebp - 0x2d28], 0xab74a7
mov dword [ebp - 0x2d24], 1
call fcn.00401511
push eax
push edi
lea ecx, [ebp - 0x2d20]
call fcn.00401f42
lea eax, [ebp - 0x30]
push eax
push 0xab74a7
push ecx
lea eax, [ebp - 0x28d8]
mov ecx, esi
push eax
call fcn.0045a3c5
lea ecx, [ebp - 0x28d8]
add eax, ecx
push eax
mov eax, ecx
lea ecx, [ebp - 0x2d08]
push eax
call fcn.0045afe9
xor eax, eax
mov byte [ebp - 0x3102], 1
mov byte [ebp - 0x3101], al
mov dword [ebp - 0x311c], eax
mov dword [ebp - 0x3118], eax
mov dword [ebp - 0x3114], eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x3101]
mov ecx, dword [esi]
mov dword [ebp - 0x2ce4], eax
lea eax, [ebp - 0x3102]
mov dword [ebp - 0x2ce0], eax
lea eax, [ebp - 0x311c]
push ecx
mov dword [ebp - 0x2cdc], eax
lea eax, [ebp - 0x2fc8]
push eax
lea eax, [ebp - 0x2cec]
mov dword [ebp - 0x2cec], 0x45a80a
push eax
push ecx
add ecx, 0x98
mov dword [ebp - 0x2ce8], esi
call fcn.00442ef4
cmp byte [ebp - 0x3101], 0
jne 0x459926
cmp byte [esi + 0x38], 0
je 0x45990f
mov edi, dword [esi]
lea esi, [edi + 0x170]
mov ecx, esi
call fcn.00529310
and dword [edi + 0x188], 0
and dword [edi + 0x18c], 0
inc dword [edi + 0x190]
push dword [edi + 0x198]
push dword [edi + 0x194]
call fcn.004463b4
mov eax, dword [edi + 0x194]
mov ecx, esi
mov dword [edi + 0x198], eax
call fcn.00529320
mov esi, dword [ebp - 0x3120]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [ebp - 0x3101], 0
je 0x4598bc
mov ebx, dword [ebp - 0x3108]
mov edi, dword [ebp - 0x311c]
cmp edi, dword [ebp - 0x3118]
je 0x459b43
mov esi, dword [ebp - 0x310c]
add edi, 4
push 0x10
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
pop ecx
mov dword [ebp - 0x3110], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x459967
mov ecx, eax
call fcn.00548530
mov dword [ebp - 0x310c], eax
jmp 0x45996e
and dword [ebp - 0x310c], 0
push str.test
lea ecx, [ebp - 0x3010]
mov byte [ebp - 4], 8
call fcn.00401b61
lea eax, [edi + 4]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x30d0]
push eax
call fcn.00532fc0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x310c]
push eax
lea eax, [ebp - 0x3010]
mov byte [ebp - 4], 0xb
push eax
call fcn.00549920
push 0
push 1
lea ecx, [ebp - 0x30d0]
call fcn.00401c56
push 0
push 1
lea ecx, [ebp - 0x3010]
mov byte [ebp - 4], 8
call fcn.00401c56
cmp byte [edi], 0
je 0x459a1a
push 0x57eee0
lea ecx, [ebp - 0x3088]
call fcn.00407674
lea eax, [ebp - 0x3088]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x30b8]
or ebx, 1
push eax
mov dword [ebp - 0x3108], ebx
call fcn.00532fc0
pop ecx
pop ecx
mov dword [ebp - 0x3110], eax
mov dword [ebp - 4], 0xd
or ebx, 2
jmp 0x459a5f
push 0x57eee8
lea ecx, [ebp - 0x3070]
call fcn.00407674
lea eax, [ebp - 0x3070]
mov dword [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x30e8]
or ebx, 4
push eax
mov dword [ebp - 0x3108], ebx
call fcn.00532fc0
pop ecx
pop ecx
mov dword [ebp - 0x3110], eax
mov dword [ebp - 4], 0xf
or ebx, 8
push str.result
lea ecx, [ebp - 0x3040]
mov dword [ebp - 0x3108], ebx
call fcn.00401b61
mov ecx, dword [ebp - 0x310c]
lea eax, [ebp - 0x3040]
mov dword [ebp - 4], 0x10
push dword [ebp - 0x3110]
push eax
call fcn.00549920
push 0
push 1
lea ecx, [ebp - 0x3040]
call fcn.00401c56
test bl, 8
je 0x459ac0
push 0
and ebx, 0xfffffff7
lea ecx, [ebp - 0x30e8]
push 1
mov dword [ebp - 0x3108], ebx
call fcn.00401c56
test bl, 4
je 0x459add
push 0
and ebx, 0xfffffffb
lea ecx, [ebp - 0x3070]
push 1
mov dword [ebp - 0x3108], ebx
call fcn.00401c9b
test bl, 2
je 0x459afa
push 0
and ebx, 0xfffffffd
lea ecx, [ebp - 0x30b8]
push 1
mov dword [ebp - 0x3108], ebx
call fcn.00401c56
mov dword [ebp - 4], 8
test bl, 1
je 0x459b1e
push 0
and ebx, 0xfffffffe
lea ecx, [ebp - 0x3088]
push 1
mov dword [ebp - 0x3108], ebx
call fcn.00401c9b
push dword [ebp - 0x310c]
mov ecx, esi
call fcn.00548790
add edi, 0x20
lea eax, [edi - 4]
cmp eax, dword [ebp - 0x3118]
jne 0x459941
mov esi, dword [ebp - 0x3120]
xor ebx, ebx
mov dword [ebp - 0x2fcc], 0xf
mov dword [ebp - 0x2fd0], ebx
mov byte [ebp - 0x2fe0], bl
lea eax, [ebp - 0x2fe0]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x3130]
push eax
call fcn.0054c4e0
pop ecx
pop ecx
lea eax, [ebp - 0x2fe0]
push eax
xor eax, eax
lea ecx, [esi + 0x20]
cmp byte [ebp - 0x3102], al
setne al
add eax, 2
push eax
push 1
call fcn.0045af62
push ebx
push 1
lea ecx, [ebp - 0x2fe0]
call fcn.00401c56
mov esi, dword [ebp - 0x311c]
test esi, esi
je 0x459be8
mov edi, dword [ebp - 0x3118]
cmp esi, edi
je 0x459bce
push ebx
push 1
lea ecx, [esi + 8]
call fcn.00401c9b
add esi, 0x20
cmp esi, edi
jne 0x459bb6
mov esi, dword [ebp - 0x311c]
push esi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
pop ecx
mov dword [ebp - 0x311c], ebx
mov dword [ebp - 0x3118], ebx
mov dword [ebp - 0x3114], ebx
push 0x459c4f
push 0xd
push 0x38
lea ecx, [ebp - 0x2fc8]
mov byte [ebp - 4], bl
push ecx
call fcn.0054f0cc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3130]
call fcn.005485e0
mov al, 1
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.0054e63c
mov esp, ebp
pop ebp
ret