Function at 0x60bc61
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e7a77
mov eax, dword fs:[0]
push eax
mov eax, 0x104c
call fcn.00648c70
mov eax, dword [0x81c5a8]
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 dword [ebp - 0xdf4], ecx
mov eax, dword [ebp + 8]
push str.MonitorInfo::Fill
mov dword [ebp - 0xdf0], eax
mov eax, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0xf98]
mov dword [ebp - 0xdd8], eax
call fcn.005a14e8
xor ebx, ebx
lea eax, [ebp - 0x974]
push 0x344
push ebx
push eax
mov dword [ebp - 4], ebx
call fcn.0066f220
add esp, 0xc
mov dword [ebp - 0x978], 0x348
lea ecx, [ebp - 0xdcc]
mov dword [ebp - 0xdb0], ebx
call fcn.005924a3
mov byte [ebp - 4], 1
mov ebx, dword [ebp - 0xdcc]
mov edi, dword [ebx + 4]
mov esi, dword [ebx]
cmp esi, edi
je 0x60bd1c
mov ebx, 0x4f4
mov ecx, esi
call fcn.00598fed
add esi, ebx
cmp esi, edi
jne 0x60bd09
mov ebx, dword [ebp - 0xdcc]
mov eax, dword [ebx]
mov dword [ebx + 4], eax
call fcn.00515e26
push eax
lea ecx, [ebp - 0xe64]
call fcn.00515c3a
lea ecx, [ebp - 0xf10]
mov byte [ebp - 4], 2
call fcn.00642aca
xor ecx, ecx
mov byte [ebp - 4], 3
push ecx
lea eax, [ebp - 0x978]
push eax
push ecx
push ecx
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x60c76f
mov edi, 0x2bc
lea eax, [ebp - 0x934]
push eax
push str._Monitor__Monitor_driver_name:__s
push edi
call fcn.00519db0
mov ecx, eax
call fcn.005a7e5d
lea eax, [ebp - 0x834]
push eax
push str._Monitor__State_flags0x_X
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0058f036
mov eax, dword [ebp - 0x834]
test al, 1
je 0x60bdb8
push str._t_Monitor__DISPLAY_DEVICE_ACTIVE
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test al, 8
je 0x60bdd4
push str._t_Monitor__DISPLAY_DEVICE_MIRRORING_DRIVER
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test eax, 0x8000000
je 0x60bdf3
push str._t_Monitor__DISPLAY_DEVICE_MODESPRUNED
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test al, 4
je 0x60be0f
push str._t_Monitor__DISPLAY_DEVICE_PRIMARY_DEVICE
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test al, 0x20
je 0x60be2b
push str._t_Monitor__DISPLAY_DEVICE_REMOVABLE
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test al, 0x10
je 0x60be47
push str._t_Monitor__DISPLAY_DEVICE_VGA_COMPATIBLE
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
mov eax, dword [ebp - 0x834]
test al, 8
jne 0x60c742
test al, 1
je 0x60c742
push 0x344
lea eax, [ebp - 0xd9c]
push 0
push eax
call fcn.0066f220
add esp, 0xc
mov dword [ebp - 0xda0], 0x348
xor esi, esi
push 0
lea eax, [ebp - 0xda0]
push eax
push esi
lea eax, [ebp - 0x974]
push eax
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov ebx, eax
mov dword [ebp - 0xdac], ebx
test ebx, ebx
jne 0x60bea8
test esi, esi
jne 0x60c742
test ebx, ebx
je 0x60bf0f
test byte [ebp - 0xc5c], 1
mov ecx, str.False
mov eax, str.True
cmove eax, ecx
mov dword [ebp - 0xdb4], eax
lea eax, [ebp - 0xdb4]
push eax
push str.Monitor_display_device_active:__s
push edi
call fcn.00519db0
mov ecx, eax
call fcn.00526b8b
lea eax, [ebp - 0xc58]
push eax
push str.monitor_device_ID_____s__
push edi
call fcn.00519db0
mov ecx, eax
call fcn.005a7e5d
lea eax, [ebp - 0xc5c]
push eax
push str.Monitor_flags_0x_X
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0058f036
jmp 0x60bf25
push str.Monitor_not_returned__may_be_VMWARE_case_
push 0x190
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
inc esi
mov dword [ebp - 0xdb4], esi
call fcn.00515e26
push eax
lea ecx, [ebp - 0xda4]
call fcn.00515c3a
mov byte [ebp - 4], 4
test ebx, ebx
je 0x60c06e
push ecx
lea eax, [ebp - 0xc58]
mov ecx, esp
push eax
call fcn.00515719
lea eax, [ebp - 0xdbc]
push eax
lea ecx, [ebp - 0xf10]
call fcn.00642f18
push eax
lea ecx, [ebp - 0xda4]
mov byte [ebp - 4], 5
call fcn.005154cf
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xdbc]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov esi, dword [ebp - 0xda4]
cmp dword [esi - 0xc], 0
jne 0x60c006
push str.monitorNameStr.IsEmpty__
push edi
call fcn.00519db0
mov ecx, eax
call fcn.0051d539
lea eax, [ebp - 0xd5c]
push 0x80
push eax
call fcn.0067af42
pop ecx
pop ecx
mov esi, eax
call fcn.00515e26
push eax
push esi
lea eax, [ebp - 0xd5c]
push eax
lea ecx, [ebp - 0xdb8]
call fcn.00515360
lea eax, [ebp - 0xdb8]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xda4]
call fcn.005154cf
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xdb8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov esi, dword [ebp - 0xda4]
lea eax, [ebp - 0xda4]
push eax
push str.monitorNameStr_____s__
push edi
call fcn.00519db0
mov ecx, eax
call fcn.00526b8b
push ecx
mov ebx, esp
push ecx
mov edi, esp
lea ecx, [esi - 0x10]
mov dword [ebp - 0xda8], edi
call fcn.00515476
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.005a06da
pop ecx
lea ecx, [ebp - 0xdc4]
call fcn.005a0806
pop ecx
push eax
lea ecx, [ebp - 0xda4]
mov byte [ebp - 4], 7
call fcn.005154cf
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xdc4]
add ecx, 0xfffffff0
call fcn.00515ed6
mov esi, 0xdc
lea eax, [ebp - 0xa58]
push esi
xor ebx, ebx
push ebx
push eax
call fcn.0066f220
add esp, 0xc
mov word [ebp - 0xa14], si
lea eax, [ebp - 0xa58]
push ebx
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x974]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
test eax, eax
jne 0x60c0bf
push ebx
lea eax, [ebp - 0xa58]
push eax
push 0xfffffffffffffffe
lea eax, [ebp - 0x974]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
mov ebx, dword [ebp - 0xda4]
cmp dword [ebx - 0xc], 0
jne 0x60c120
push 0x7e9
lea ecx, [ebp - 0xf40]
call fcn.006c22f9
lea ecx, [ebp - 0xdc0]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.006c22d9
push eax
lea ecx, [ebp - 0xda4]
mov byte [ebp - 4], 9
call fcn.005154cf
mov ecx, dword [ebp - 0xdc0]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf40]
mov byte [ebp - 4], 4
call fcn.006c2344
mov ebx, dword [ebp - 0xda4]
push ecx
mov esi, esp
lea eax, [ebp - 0x934]
push ecx
mov ecx, esp
push eax
call fcn.00515719
mov ecx, esi
call fcn.005a06da
pop ecx
lea ecx, [ebp - 0xdd0]
call fcn.005a0806
pop ecx
push eax
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 0xa
call fcn.006c22ac
lea eax, [ebp - 0xda4]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xf08]
call fcn.006c22ac
push ecx
push str._1_on__2
lea ecx, [ebp - 0xff8]
mov byte [ebp - 4], 0xc
call fcn.00515719
and dword [ebp - 0xff0], 0
and dword [ebp - 0xfd0], 0
lea eax, [ebp - 0xff8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xea8]
call fcn.006c2dad
mov edi, eax
lea eax, [ebp - 0xf08]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [edi + 0x30]
call fcn.0056ed5e
lea eax, [ebp - 0x1028]
push eax
lea ecx, [edi + 0x30]
call fcn.0056ed5e
sub esp, 0x40
mov ecx, esp
push edi
call fcn.005414cd
lea ecx, [ebp - 0x30]
call fcn.005448fe
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xe28]
call fcn.006c220e
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x12
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xff8]
call fcn.006c2344
lea ecx, [ebp - 0xf08]
call fcn.006c2344
lea ecx, [ebp - 0x1028]
call fcn.006c2344
mov ecx, dword [ebp - 0xdd0]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0x630]
call fcn.0060db11
lea edx, [ebp - 0xda4]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
call fcn.00590d8b
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x19
cmp ecx, eax
je 0x60c26a
push 0xffffffffffffffff
push 0
push eax
call fcn.0052900d
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x1d8], 1
mov byte [ebp - 4], 0x18
call fcn.00529114
lea eax, [ebp - 0xdd4]
push eax
lea ecx, [ebp - 0xe28]
call fcn.006c22d9
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x28]
call fcn.00590d8b
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x1b
cmp ecx, eax
je 0x60c2b9
push 0xffffffffffffffff
push 0
push eax
call fcn.0052900d
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x1bc], 1
call fcn.00529114
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0xdd4]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
push 0x741504
lea ecx, [ebp - 0xf08]
call fcn.00515719
xor eax, eax
mov dword [ebp - 0xf00], eax
mov dword [ebp - 0xee0], eax
push eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xde4]
push dword [ebp - 0x9a0]
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xf40]
mov byte [ebp - 4], 0x1d
call fcn.006c22ac
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xde0]
push 0
push dword [ebp - 0x9a8]
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x1f
call fcn.006c22ac
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xddc]
push 0
push dword [ebp - 0x9ac]
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x1058]
mov byte [ebp - 4], 0x21
call fcn.006c22ac
lea eax, [ebp - 0xda4]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x1028]
call fcn.006c22ac
push str._1___2x_3__4Hz_
lea ecx, [ebp - 0xff8]
mov byte [ebp - 4], 0x23
call fcn.00515719
and dword [ebp - 0xff0], 0
and dword [ebp - 0xfd0], 0
push ecx
lea eax, [ebp - 0xff8]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0xea8]
call fcn.0052b35a
xor eax, eax
mov dword [ebp - 0xe78], eax
mov dword [ebp - 0xe74], eax
mov dword [ebp - 0xe70], eax
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x1028]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
lea eax, [ebp - 0x1058]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
lea eax, [ebp - 0xfc8]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
lea eax, [ebp - 0xf40]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
sub esp, 0x40
lea eax, [ebp - 0xea8]
mov ecx, esp
push eax
call fcn.005414cd
lea ecx, [ebp - 0x30]
call fcn.005448fe
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0xe58]
call fcn.006c220e
push 0
push 0
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x27
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00530696
push eax
lea eax, [ebp - 0xdec]
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0xdd8]
push eax
call fcn.005ad24e
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xde8]
test ecx, ecx
je 0x60c496
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2a
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xff8]
call fcn.006c2344
lea ecx, [ebp - 0x1028]
call fcn.006c2344
lea ecx, [ebp - 0x1058]
call fcn.006c2344
mov ecx, dword [ebp - 0xddc]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xfc8]
call fcn.006c2344
mov ecx, dword [ebp - 0xde0]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf40]
call fcn.006c2344
mov ecx, dword [ebp - 0xde4]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x18
call fcn.006c2344
push 9
xor eax, eax
lea edi, [ebp - 0x54]
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x834]
mov dword [ebp - 0x58], 0x28
test al, 1
je 0x60c5fa
push 0
push dword [ebp - 0xa08]
push dword [ebp - 0xa0c]
call dword [sym.imp.USER32.dll_MonitorFromPoint]
test eax, eax
je 0x60c5f4
lea ecx, [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
push 0xa
pop ecx
lea eax, [ebp - 0x54]
push eax
lea esi, [ebp - 0x58]
lea edi, [ebp - 0x200]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_CopyRect]
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 0x204], 1
call esi
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
call esi
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x74]
mov byte [ebp - 0x1a0], 1
mov byte [ebp - 0x198], 1
mov byte [ebp - 0x190], 1
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x188], 1
mov eax, dword [ebp - 0x834]
cmp dword [ebp - 0xdac], 0
je 0x60c60f
test byte [ebp - 0xc5c], 1
jne 0x60c60f
and eax, 0xfffffffe
cmp word [ebp - 0xd9c], 0
lea ecx, [ebp - 0x974]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x9ac]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x9a8]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x9b0]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0xd9c]
cmove eax, ecx
mov byte [ebp - 0x180], 1
push eax
lea ecx, [ebp - 0x138]
mov byte [ebp - 0x178], 1
mov byte [ebp - 0x170], 1
mov byte [ebp - 0x168], 1
mov byte [ebp - 0x160], 1
call fcn.00538a60
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x154]
call fcn.0052900d
cmp word [ebp - 0xd9c], 0
lea eax, [ebp - 0x978]
lea esi, [ebp - 0xda0]
mov byte [ebp - 0x158], 1
cmove esi, eax
lea edi, [ebp - 0x62c]
mov ecx, 0xd2
lea eax, [ebp - 0x630]
rep movsd dword es:[edi], dword [esi]
push 0x37
pop ecx
mov byte [ebp - 0x630], 1
lea esi, [ebp - 0xa58]
lea edi, [ebp - 0x2e0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xdcc]
push eax
mov byte [ebp - 0x2e4], 1
call fcn.0060d77d
push 0
push 1
lea ecx, [ebp - 0x138]
call fcn.00529114
lea ecx, [ebp - 0x630]
call fcn.00598fed
lea ecx, [ebp - 0xe28]
call fcn.006c2344
lea ecx, [ebx - 0x10]
mov byte [ebp - 4], 3
call fcn.00515ed6
mov esi, dword [ebp - 0xdb4]
mov edi, 0x2bc
jmp 0x60be79
mov eax, dword [ebp - 0xdb0]
lea ecx, [ebp - 0x978]
push 0
inc eax
push ecx
push eax
push 0
mov dword [ebp - 0xdb0], eax
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x60bd64
mov ebx, dword [ebp - 0xdcc]
mov eax, dword [ebx + 4]
mov ecx, 0x4f4
sub eax, dword [ebx]
cdq
idiv ecx
mov edi, eax
mov dword [ebp - 0xdac], edi
test edi, edi
jle 0x60d583
xor bh, bh
mov bl, 1
mov byte [ebp - 0xdb8], bh
mov byte [ebp - 0xda4], bl
mov byte [ebp - 0xdc4], bl
cmp edi, 1
jle 0x60c825
mov bh, bl
mov byte [ebp - 0xdb8], bh
test edi, edi
jle 0x60c825
mov dword [ebp - 0xdb0], edi
xor esi, esi
mov edi, dword [ebp - 0xdcc]
mov eax, dword [edi]
lea ecx, [ebp - 0x630]
add eax, esi
push eax
call fcn.0060d5d8
cmp byte [ebp - 0x180], 0
je 0x60c804
mov eax, dword [ebp - 0x17c]
and al, 4
neg al
sbb al, al
and bl, al
test byte [ebp - 0x17c], 1
mov byte [ebp - 0xda4], bl
jne 0x60c804
mov byte [ebp - 0xdc4], 0
mov byte [ebp - 0xda4], bl
lea ecx, [ebp - 0x630]
call fcn.00598fed
mov eax, 0x4f4
add esi, eax
sub dword [ebp - 0xdb0], 1
jne 0x60c7c1
mov edi, dword [ebp - 0xdac]
mov eax, dword [ebp - 0xdcc]
xor esi, esi
mov dword [ebp - 0xdbc], esi
mov byte [eax + 0xd], bh
mov byte [eax + 0xc], 1
test edi, edi
jle 0x60d583
xor ecx, ecx
mov dword [ebp - 0xdb4], ecx
mov eax, dword [eax]
add eax, ecx
lea ecx, [ebp - 0x630]
push eax
call fcn.0060d5d8
and dword [ebp - 0xdec], 0
and dword [ebp - 0xde8], 0
mov byte [ebp - 4], 0x2d
cmp edi, 1
jne 0x60c911
push 0x560
lea ecx, [ebp - 0xe58]
call fcn.006c22f9
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xec0]
and dword [ebp - 0xec8], 0
push eax
call fcn.0052b35a
xor eax, eax
mov dword [ebp - 0xe90], eax
mov dword [ebp - 0xe70], eax
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xdf0]
lea eax, [ebp - 0xec8]
push eax
lea eax, [ebp - 0xf80]
mov byte [ebp - 4], 0x2f
push eax
call fcn.005ad1f2
push eax
lea ecx, [ebp - 0xdec]
call fcn.0054a532
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xf7c]
test ecx, ecx
je 0x60c8ec
call fcn.0051578b
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x31
call fcn.0051f634
lea ecx, [ebp - 0xec0]
call fcn.006c2344
lea ecx, [ebp - 0xe58]
jmp 0x60c9d8
lea ecx, [ebp - 0xf08]
call fcn.006c21f2
push ecx
lea edx, [esi + 1]
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xe58]
call fcn.005a03c7
pop ecx
push eax
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x33
call fcn.0054622d
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x32
call fcn.006c2344
and dword [ebp - 0xec8], 0
lea eax, [ebp - 0xf08]
push eax
lea ecx, [ebp - 0xec0]
call fcn.0052b35a
xor eax, eax
mov dword [ebp - 0xe90], eax
mov dword [ebp - 0xe70], eax
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xdf0]
lea eax, [ebp - 0xec8]
push eax
lea eax, [ebp - 0xf88]
mov byte [ebp - 4], 0x34
push eax
call fcn.005ad1f2
push eax
lea ecx, [ebp - 0xdec]
call fcn.0054a532
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0xf84]
test ecx, ecx
je 0x60c9b8
call fcn.0051578b
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x36
call fcn.0051f634
lea ecx, [ebp - 0xec0]
call fcn.006c2344
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x2d
call fcn.006c2344
lea eax, [ebp - 0xdec]
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad02d
and dword [ebp - 0x80], 0
xor eax, eax
push 7
pop ecx
mov dword [ebp - 0x7c], ecx
mov word [ebp - 0x90], ax
mov byte [ebp - 4], 0x38
mov al, byte [ebp - 0x1bc]
test al, al
je 0x60cae1
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x90]
call fcn.0052900d
mov al, byte [ebp - 0x1bc]
mov ecx, dword [ebp - 0x7c]
test al, al
je 0x60cae1
cmp ecx, 8
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0xf08]
cmovae eax, dword [ebp - 0x90]
push eax
call fcn.00515719
and dword [ebp - 0xf00], 0
and dword [ebp - 0xee0], 0
push 0x414
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x39
call fcn.006c22f9
push 0
push 0
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x3a
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00530696
push eax
lea eax, [ebp - 0xf90]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0xf8c]
test ecx, ecx
je 0x60cabc
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x38
call fcn.006c2344
cmp byte [ebp - 0x1a0], 0
je 0x60ce80
cmp byte [ebp - 0x198], 0
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0xdac], eax
je 0x60ce80
cmp byte [ebp - 0x190], 0
mov esi, dword [ebp - 0x194]
je 0x60ce80
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xdb0]
mov dword [ebp - 0xddc], eax
mov al, byte [ebp - 0x188]
test al, al
cmovne ecx, dword [ebp - 0x184]
mov dword [ebp - 0xdb0], ecx
je 0x60ce80
push 0x415
lea ecx, [ebp - 0xf08]
call fcn.006c22f9
mov eax, esi
mov byte [ebp - 4], 0x3d
cdq
lea ecx, [ebp - 0xde0]
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xf40]
mov byte [ebp - 4], 0x3e
call fcn.006c22ac
mov eax, dword [ebp - 0xdac]
lea ecx, [ebp - 0xde4]
cdq
push edx
push eax
mov byte [ebp - 4], 0x3f
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x40
call fcn.006c22ac
push ecx
lea eax, [ebp - 0xf08]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0xea8]
call fcn.0052b35a
xor eax, eax
mov dword [ebp - 0xe78], eax
mov dword [ebp - 0xe74], eax
mov dword [ebp - 0xe70], eax
lea eax, [ebp - 0xe28]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
lea eax, [ebp - 0xf40]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
sub esp, 0x40
lea eax, [ebp - 0xea8]
mov ecx, esp
push eax
call fcn.005414cd
lea ecx, [ebp - 0x50]
call fcn.005448fe
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0xfc8]
call fcn.006c220e
mov esi, eax
push 0x416
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x44
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x45
call fcn.00530696
push eax
lea eax, [ebp - 0xf48]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0xf44]
test ecx, ecx
je 0x60cc78
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xfc8]
call fcn.006c2344
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x48
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov ecx, dword [ebp - 0xde4]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf40]
call fcn.006c2344
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0xde0]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov eax, dword [ebp - 0xdb0]
lea ecx, [ebp - 0xdd4]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xf40]
mov byte [ebp - 4], 0x49
call fcn.006c22ac
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xdd8]
mov eax, dword [ebp - 0xddc]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x4b
call fcn.006c22ac
push ecx
lea eax, [ebp - 0xf08]
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0xea8]
call fcn.0052b35a
xor eax, eax
mov dword [ebp - 0xe78], eax
mov dword [ebp - 0xe74], eax
mov dword [ebp - 0xe70], eax
lea eax, [ebp - 0xe28]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
lea eax, [ebp - 0xf40]
push eax
lea ecx, [ebp - 0xe78]
call fcn.0056ed5e
sub esp, 0x40
lea eax, [ebp - 0xea8]
mov ecx, esp
push eax
call fcn.005414cd
lea ecx, [ebp - 0x50]
call fcn.005448fe
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xfc8]
call fcn.006c220e
mov esi, eax
push 0x417
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x4f
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x50
call fcn.00530696
push eax
lea eax, [ebp - 0xf50]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0xf4c]
test ecx, ecx
je 0x60ce07
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xfc8]
call fcn.006c2344
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x53
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov ecx, dword [ebp - 0xdd8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf40]
call fcn.006c2344
mov ecx, dword [ebp - 0xdd4]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
lea ecx, [ebp - 0xf08]
mov byte [ebp - 4], 0x38
call fcn.006c2344
mov al, byte [ebp - 0x180]
mov ecx, dword [ebp - 0xdc0]
test al, al
cmovne ecx, dword [ebp - 0x17c]
mov dword [ebp - 0xdc0], ecx
je 0x60cf37
push dword [ebp - 0xdb8]
lea eax, [ebp - 0xe28]
push ecx
mov ecx, dword [ebp - 0xdf4]
push eax
call fcn.0060b6f2
mov esi, eax
push 0x418
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x54
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x55
call fcn.00530696
push eax
lea eax, [ebp - 0xf58]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0xf54]
test ecx, ecx
je 0x60cf0c
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x38
call fcn.006c2344
mov ecx, dword [ebp - 0xdc0]
test bh, bh
je 0x60cfd5
push dword [ebp - 0xdc4]
lea eax, [ebp - 0xe28]
push dword [ebp - 0xda4]
push ecx
mov ecx, dword [ebp - 0xdf4]
push eax
call fcn.0060ba67
mov esi, eax
push 0x7e5
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x58
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x59
call fcn.00530696
push eax
lea eax, [ebp - 0xf60]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0xf5c]
test ecx, ecx
je 0x60cfb0
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x38
call fcn.006c2344
mov al, byte [ebp - 0x178]
mov ecx, dword [ebp - 0xdd0]
test al, al
cmovne ecx, dword [ebp - 0x174]
mov dword [ebp - 0xdd0], ecx
je 0x60d0a1
mov eax, ecx
lea ecx, [ebp - 0xe5c]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x5c
call fcn.006c22ac
push 0x419
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x5d
call fcn.006c22f9
push 0
push 0
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x5e
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00530696
push eax
lea eax, [ebp - 0xf68]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0xf64]
test ecx, ecx
je 0x60d06e
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0xe5c]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov al, byte [ebp - 0x170]
mov ecx, dword [ebp - 0xe60]
test al, al
cmovne ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xe60], ecx
je 0x60d16d
mov eax, ecx
lea ecx, [ebp - 0xed8]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x61
call fcn.006c22ac
push 0x41a
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x62
call fcn.006c22f9
push 0
push 0
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x63
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00530696
push eax
lea eax, [ebp - 0xf70]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x65
mov ecx, dword [ebp - 0xf6c]
test ecx, ecx
je 0x60d13a
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0xed8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov al, byte [ebp - 0x168]
mov ecx, dword [ebp - 0xed4]
test al, al
cmovne ecx, dword [ebp - 0x164]
mov dword [ebp - 0xed4], ecx
je 0x60d2c2
mov eax, ecx
lea ecx, [ebp - 0xed0]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x66
call fcn.006c22ac
push ecx
push 0x41c
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x67
call fcn.006c22f9
push eax
lea ecx, [ebp - 0xea8]
mov byte [ebp - 4], 0x68
call fcn.006c2dad
mov esi, eax
lea eax, [ebp - 0xe28]
mov byte [ebp - 4], 0x69
push eax
lea ecx, [esi + 0x30]
call fcn.0056ed5e
sub esp, 0x40
mov ecx, esp
push esi
call fcn.005414cd
lea ecx, [ebp - 0x50]
call fcn.005448fe
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [ebp - 0xf40]
call fcn.006c220e
mov esi, eax
push 0x41b
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x6b
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x6c
call fcn.00530696
push eax
lea eax, [ebp - 0xf78]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x6e
mov ecx, dword [ebp - 0xf74]
test ecx, ecx
je 0x60d262
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xf40]
call fcn.006c2344
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x6f
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xfc8]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0xed0]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov al, byte [ebp - 0x160]
mov ecx, dword [ebp - 0xecc]
test al, al
cmovne ecx, dword [ebp - 0x15c]
mov dword [ebp - 0xecc], ecx
je 0x60d40d
mov eax, ecx
lea ecx, [ebp - 0xe68]
cdq
push edx
push eax
call fcn.005a076d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x70
call fcn.006c22ac
push ecx
push 0x41e
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x71
call fcn.006c22f9
push eax
lea ecx, [ebp - 0xea8]
mov byte [ebp - 4], 0x72
call fcn.006c2dad
mov esi, eax
lea eax, [ebp - 0xe28]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [esi + 0x30]
call fcn.0056ed5e
sub esp, 0x40
mov ecx, esp
push esi
call fcn.005414cd
lea ecx, [ebp - 0x50]
call fcn.005448fe
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [ebp - 0xf40]
call fcn.006c220e
mov esi, eax
push 0x41d
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x75
call fcn.006c22f9
push 0
push 0
push esi
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x76
call fcn.00530696
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x78
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x60d3b1
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xf40]
call fcn.006c2344
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x79
call fcn.0051f634
lea ecx, [ebp - 0xea8]
call fcn.006c2dd3
lea ecx, [ebp - 0xfc8]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov ecx, dword [ebp - 0xe68]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
and dword [ebp - 0x98], 0
xor eax, eax
push 7
pop ecx
mov dword [ebp - 0x94], ecx
mov word [ebp - 0xa8], ax
mov byte [ebp - 4], 0x7a
mov al, byte [ebp - 0x158]
test al, al
je 0x60d50d
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0052900d
mov al, byte [ebp - 0x158]
mov ecx, dword [ebp - 0x94]
test al, al
je 0x60d50d
cmp ecx, 8
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0xda8]
cmovae eax, dword [ebp - 0xa8]
push eax
call fcn.00515719
push eax
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x7b
call fcn.006c22ac
push 0x41f
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x7c
call fcn.006c22f9
push 0
push 0
lea ecx, [ebp - 0xe28]
mov byte [ebp - 4], 0x7d
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00530696
push eax
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [ebp - 0x28]
call fcn.005ad24e
mov byte [ebp - 4], 0x7f
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x60d4de
call fcn.0051578b
lea ecx, [ebp - 0x120]
call fcn.00530663
lea ecx, [ebp - 0xe58]
call fcn.006c2344
lea ecx, [ebp - 0xe28]
call fcn.006c2344
mov ecx, dword [ebp - 0xda8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
push 0
push 1
lea ecx, [ebp - 0xa8]
call fcn.00529114
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00529114
lea ecx, [ebp - 0x28]
call fcn.005ad08b
mov byte [ebp - 4], 0x80
mov ecx, dword [ebp - 0xde8]
test ecx, ecx
je 0x60d546
call fcn.0051578b
lea ecx, [ebp - 0x630]
mov byte [ebp - 4], 3
call fcn.00598fed
mov esi, dword [ebp - 0xdbc]
mov eax, 0x4f4
mov ecx, dword [ebp - 0xdb4]
inc esi
add ecx, eax
mov dword [ebp - 0xdbc], esi
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xdb4], ecx
cmp esi, edi
jl 0x60c84a
lea ecx, [ebp - 0xf10]
call fcn.0055c851
mov ecx, dword [ebp - 0xe64]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov byte [ebp - 4], 0x81
mov ecx, dword [ebp - 0xdc8]
test ecx, ecx
je 0x60d5af
call fcn.0051578b
lea ecx, [ebp - 0xf98]
call fcn.005a1446
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.00647fba
mov esp, ebp
pop ebp
ret 8