Function at 0x458a10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dcff4
mov eax, dword fs:[0]
push eax
sub esp, 0x1e0
mov eax, dword [0x5021c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x17c], esi
xor eax, eax
mov dword [ebp - 0x170], 0
push 0xc
push 0x4f08cc
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
call fcn.00403450
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0xfffe
mov dword [ebp - 4], 0
call fcn.004ad065
push 0xfffe
mov edi, eax
push 0
push edi
mov dword [ebp - 0x174], edi
call fcn.004affe0
add esp, 0x10
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x170], 0x40
mov byte [ebp - 4], 1
call fcn.00495ea9
shl eax, 2
mov dword [ebp - 0x180], eax
shr eax, 1
cmp byte [0x507a10], 0
mov dword [ebp - 0x178], eax
je 0x458b06
push ecx
push eax
push str.MaxNumOfWorker
push str.global
call fcn.00461ed0
jmp 0x458c30
xor eax, eax
lea ecx, [ebp - 0x28]
push 0x22
push str.SoftwaregrepWinNP3MaxNumOfWorker
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00403450
sub esp, 0xc
mov byte [ebp - 4], 2
lea eax, [ebp - 0x28]
mov dword [ebp - 0x170], 0x41
lea ecx, [ebp - 0x130]
push eax
call fcn.00418ec0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0
mov dword [ebp - method.CRegTypedBase_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____class_CRegStdBase_.virtual_0], vtable.CRegDWORDCommon_class_CRegStdBase_.0
mov dword [ebp - 4], 3
mov al, byte [ebp - 0xf0]
mov dword [ebp - 0x170], 0x43
test al, al
je 0x458c1f
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ecx, edx
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x178], ecx
cmp ecx, dword [ebp - 0xdc]
jb 0x458bfe
mov edx, dword [ebp - 0xe0]
ja 0x458bd0
cmp eax, edx
jb 0x458bfe
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
add ecx, edx
adc eax, dword [ebp - 0xdc]
cmp dword [ebp - 0x178], eax
jb 0x458bf6
ja 0x458bfe
cmp dword [ebp - 0x184], ecx
ja 0x458bfe
mov al, byte [ebp - 0xf0]
jmp 0x458c06
xor al, al
mov byte [ebp - 0xf0], al
test al, al
je 0x458c1f
cmp byte [ebp - 0xef], 0
jne 0x458c1f
mov dword [ebp - 0xf8], 0
jmp 0x458c2a
lea ecx, [ebp - 0x130]
call fcn.00426a60
mov eax, dword [ebp - 0xec]
mov ecx, eax
cmp dword [ebp - 0x180], eax
jge 0x458c42
mov ecx, dword [ebp - 0x180]
jmp 0x458c48
mov dword [ebp - 0x180], ecx
cmp ecx, 1
jge 0x458c57
mov dword [ebp - 0x180], 1
mov eax, dword [ebp - 0x170]
test al, 2
je 0x458c7e
and dword [ebp - 0x170], 0xfffffffd
lea ecx, [ebp - 0x110]
call fcn.004027a0
lea ecx, [ebp - 0x128]
call fcn.004027a0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x170]
test al, 1
je 0x458c9e
and dword [ebp - 0x170], 0xfffffffe
lea ecx, [ebp - 0x28]
call fcn.004027a0
call fcn.00444850
push 0x507ae8
call fcn.00495b97
add esp, 4
test eax, eax
jne 0x45a38e
mov eax, dword [0x507b14]
cmp eax, 0x7fffffff
je 0x45a395
mov eax, dword [ebp - 0x180]
mov ecx, eax
cmp eax, 1
ja 0x458cda
mov ecx, 1
mov eax, dword [0x507b44]
mov dword [0x507b40], ecx
cmp eax, ecx
jae 0x458d10
lea esp, [esp]
inc eax
push 0x507b18
mov dword [0x507b44], eax
call fcn.00495f1e
mov eax, dword [0x507b44]
add esp, 4
cmp eax, dword [0x507b40]
jb 0x458cf0
push 0x507ae8
call fcn.00495bbc
lea eax, [esi + 0x3c]
add esp, 4
cmp dword [eax + 0x14], 7
mov dword [ebp - 0x160], eax
jbe 0x458d34
mov eax, dword [eax]
mov dword [ebp - 0x160], eax
xor ecx, ecx
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], ecx
mov byte [ebp - 4], 4
jmp 0x458d60
push 0x4ec558
push eax
call fcn.004c0a08
add esp, 8
mov dword [ebp - 0x16c], eax
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
push eax
push dword [ebp - 0x160]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x40]
call fcn.00403450
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x459095
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x164], ecx
cmp edx, 7
jbe 0x458dc0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x164], ecx
cmp esi, 1
jbe 0x458f42
lea eax, [esi - 1]
mov dword [ebp - 0x158], eax
lea eax, [ecx + 2]
xor ecx, ecx
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x158], ecx
je 0x458e1d
cmp word [eax], 0x5c
je 0x458e17
jmp 0x458df0
mov eax, dword [ebp - 0x158]
cmp eax, 1
je 0x458e1d
dec eax
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x168]
add eax, 2
mov dword [ebp - 0x168], eax
cmp word [eax], 0x5c
jne 0x458df0
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x458f42
sub ecx, dword [ebp - 0x164]
sar ecx, 1
mov dword [ebp - 0x158], ecx
cmp ecx, 0xffffffff
je 0x458f42
lea esp, [esp]
lea eax, [ecx + ecx]
mov dword [ebp - 0x178], eax
lea esp, [esp]
cmp edx, 7
lea eax, [ebp - 0x40]
seta byte [ebp - 0x152]
jbe 0x458e62
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x178]
inc ecx
mov dword [ebp - 0x168], ecx
cmp word [edx + eax + 2], 0x5c
jne 0x458ec9
cmp esi, ecx
jb 0x45a3a2
mov eax, esi
sub eax, ecx
cmp eax, 1
jb 0x458e8d
mov eax, 1
cmp dword [ebp - 0x2c], 7
mov edx, dword [ebp - 0x40]
ja 0x458e99
lea edx, [ebp - 0x40]
lea edx, [edx + ecx*2]
sub esi, eax
lea ecx, [edx + eax*2]
mov eax, esi
sub eax, dword [ebp - 0x168]
lea eax, [eax*2 + 2]
push eax
push ecx
push edx
call fcn.004afa60
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x30], esi
jmp 0x458e50
cmp byte [ebp - 0x152], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x168], eax
je 0x458ee4
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x168], eax
cmp ecx, esi
jae 0x458f42
mov edx, esi
mov dword [ebp - 0x158], 0
sub edx, ecx
lea ecx, [eax + ecx*2]
je 0x458f26
cmp word [ecx], 0x5c
je 0x458f10
cmp edx, 1
je 0x458f18
add ecx, 2
dec edx
cmp word [ecx], 0x5c
jne 0x458f01
mov eax, dword [ebp - 0x168]
jmp 0x458f28
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x168]
jmp 0x458f28
xor ecx, ecx
test ecx, ecx
je 0x458f42
mov edx, dword [ebp - 0x2c]
sub ecx, eax
sar ecx, 1
mov dword [ebp - 0x158], ecx
cmp ecx, 0xffffffff
jne 0x458e40
xor eax, eax
lea ecx, [ebp - 0x28]
push 3
push 0x4f08e8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00403450
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 7
mov dword [ebp - 0x164], eax
seta byte [ebp - 0x151]
lea edx, [eax + eax]
jbe 0x458f91
mov ecx, dword [ebp - 0x40]
lea eax, [ecx + edx]
mov dword [ebp - 0x168], eax
mov eax, ecx
jmp 0x458f9f
lea eax, [edx + ecx]
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x40]
mov ecx, eax
lea esi, [ecx + edx]
mov dword [ebp - 0x158], eax
cmp esi, eax
je 0x458fdc
mov edi, eax
mov edi, edi
lea eax, [esi - 2]
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x28]
movzx eax, word [eax]
push 0
push eax
call fcn.00460f60
cmp eax, 0xffffffff
je 0x458fd6
mov esi, dword [ebp - 0x178]
cmp esi, edi
jne 0x458fb0
mov edi, dword [ebp - 0x174]
cmp byte [ebp - 0x151], 0
lea ecx, [ebp - 0x40]
je 0x458feb
mov ecx, dword [ebp - 0x40]
mov eax, esi
sub eax, ecx
mov ecx, dword [ebp - 0x168]
sub ecx, esi
sar eax, 1
mov esi, dword [ebp - 0x164]
mov edx, esi
sub edx, eax
sar ecx, 1
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x178], edx
cmp edx, ecx
jae 0x459017
mov ecx, edx
cmp byte [ebp - 0x151], 0
lea edx, [ebp - 0x40]
je 0x459026
mov edx, dword [ebp - 0x40]
lea edx, [edx + eax*2]
sub esi, ecx
mov eax, esi
lea ecx, [edx + ecx*2]
sub eax, dword [ebp - 0x158]
lea eax, [eax*2 + 2]
push eax
push ecx
push edx
call fcn.004afa60
add esp, 0xc
mov dword [ebp - 0x30], esi
lea ecx, [ebp - 0x28]
call fcn.004027a0
mov esi, dword [ebp - 0x184]
lea eax, [ebp - 0x40]
push eax
cmp esi, dword [ebp - 0x1b0]
je 0x45907d
mov ecx, esi
call fcn.004024d0
add esi, 0x18
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x1b4], esi
jmp 0x459095
push esi
lea ecx, [ebp - 0x1b8]
call fcn.004021d0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x16c]
mov byte [ebp - 4], 4
lea esi, [eax + ecx*2]
mov ecx, dword [ebp - 0x2c]
lea eax, [esi + 2]
mov dword [ebp - 0x160], eax
cmp ecx, 7
jbe 0x4590f1
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4590e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45a3a7
push ecx
push edx
call fcn.004accfd
mov eax, dword [ebp - 0x160]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], cx
cmp word [eax], cx
je 0x459113
cmp word [esi], cx
jne 0x458d60
mov esi, dword [ebp - 0x17c]
cmp byte [esi + 0xc5], cl
jne 0x45922e
cmp dword [esi + 0x7c], ecx
je 0x45922e
xor eax, eax
mov dword [ebp - 0xa4], 7
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov word [ebp - 0xb8], ax
lea ecx, [esi + 0x6c]
mov byte [ebp - 4], 6
cmp dword [ecx + 0x14], 7
mov edx, ecx
jbe 0x45917e
mov edx, dword [ecx]
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x158], edx
jmp 0x45918a
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x158], ecx
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x158]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x16c], eax
cmp edx, eax
je 0x4591fb
mov esi, dword [ebp - 0x160]
mov edi, eax
jmp 0x4591b0
movzx eax, word [esi]
add eax, 0xffffffdc
cmp eax, 0x38
ja case.0x4591c2.37
movzx eax, byte [eax + 0x45a3b4]
jmp dword [eax*4 + 0x45a3ac]
push 0x4ebe50
lea ecx, [ebp - 0xb8]
call fcn.00405930
movzx eax, word [esi]
lea ecx, [ebp - 0xb8]
push eax
call fcn.004065b0
add esi, 2
cmp esi, edi
jne 0x4591b0
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x17c]
lea ecx, [esi + 0x6c]
lea eax, [ebp - 0xb8]
cmp ecx, eax
je 0x459223
cmp dword [ebp - 0xa4], 7
jbe 0x459217
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xa8]
push eax
call fcn.00403a40
lea ecx, [ebp - 0xb8]
call fcn.004027a0
push 0
push 0
push 0x8002
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov dword [ebp - 0xbc], 7
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov word [ebp - 0xd0], ax
lea eax, [esi + 0x54]
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 7
jbe 0x459290
mov ecx, dword [eax]
mov edx, ecx
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x174], ecx
jmp 0x4592a0
mov ecx, eax
mov dword [ebp - 0x158], eax
mov edx, eax
mov dword [ebp - 0x174], eax
mov eax, dword [eax + 0x10]
lea eax, [edx + eax*2]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x174], eax
je 0x459341
jmp 0x4592c0
movzx eax, word [ecx]
lea ecx, [ebp - 0xd0]
push eax
mov dword [ebp - 0x174], eax
call fcn.004065b0
push dword [ebp - 0x174]
call fcn.004b8e26
add esp, 4
test eax, eax
je 0x45931c
test dword [ebp - 0x174], 0xff00
jne 0x45931c
push str.x00
lea ecx, [ebp - 0xd0]
call fcn.00405930
mov ecx, dword [ebp - 0x158]
add ecx, 2
mov dword [ebp - 0x158], ecx
cmp ecx, dword [ebp - 0x16c]
jne 0x4592c0
jmp 0x459341
lea eax, [esi + 0x54]
lea ecx, [ebp - 0xd0]
cmp ecx, eax
je 0x459341
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x459334
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0xd0]
call fcn.00403a40
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x178], ecx
cmp ecx, dword [ebp - 0x184]
je 0x45a2dd
lea esp, [esp]
push ecx
lea ecx, [ebp - 0x70]
call fcn.004024d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x70]
cmp dword [ebp - 0x5c], 7
seta byte [ebp - 0x152]
jbe 0x459380
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push 2
push 0x4f08fc
push ecx
mov dword [ebp - 0x16c], edx
call fcn.004268e0
add esp, 0xc
cmp eax, 0xffffffff
je 0x459433
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x16c]
cmp eax, ecx
jb 0x4593c5
mov eax, ecx
cmp byte [ebp - 0x152], 0
lea ecx, [ebp - 0x70]
je 0x4593d4
mov ecx, dword [ebp - 0x70]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403450
or dword [ebp - 0x170], 8
lea ecx, [ebp - 0x70]
call fcn.004027a0
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x70]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x5c], eax
cmp eax, 7
jbe 0x45941b
mov ecx, edx
mov eax, dword [ebp - 0x18]
cmp word [ecx + eax*2 - 2], 0x3a
jne 0x459433
push 0x4ebe50
lea ecx, [ebp - 0x70]
call fcn.00405930
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004024d0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x60], 0
je 0x45a2ab
xor cl, cl
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x5c], 7
mov byte [ebp - 0x151], cl
jbe 0x459464
mov eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x45955f
cmp dword [ebp - 0x8c], 7
lea ecx, [ebp - 0xa0]
mov esi, dword [ebp - 0xa0]
mov byte [ebp - 0x151], 1
jbe 0x459491
mov ecx, esi
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x4594c3
lea eax, [edx - 1]
cmp eax, 0xffffffff
jb 0x4594a6
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x4594bd
cmp eax, ecx
je 0x4594c3
sub eax, 2
cmp word [eax], 0x5c
jne 0x4594b0
sub eax, ecx
sar eax, 1
jmp 0x4594c6
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
cmp edx, eax
jb 0x4594e0
mov edx, eax
cmp dword [ebp - 0x8c], 7
lea eax, [ebp - 0xa0]
jbe 0x4594f1
mov eax, esi
push edx
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
or dword [ebp - 0x170], 0x10
lea ecx, [ebp - 0xa0]
call fcn.004027a0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004027a0
cmp dword [ebp - 0x5c], 7
lea edx, [ebp - 0x70]
mov byte [ebp - 0x152], 0
jbe 0x459572
mov edx, dword [ebp - 0x70]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea esi, [ecx + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
jmp 0x459590
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x459590
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00403450
mov byte [ebp - 4], 0xa
push 0x27c
mov byte [ebp - 0x1c0], 1
mov dword [ebp - 0x1bc], 0
call fcn.004acccd
mov esi, eax
mov dword [ebp - 0x1e0], esi
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.00405f40
mov dword [esi + 0x278], 0
mov dword [ebp - 0x1c4], esi
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jbe 0x45962e
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x459624
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45a3a7
push ecx
push edx
call fcn.004accfd
add esp, 8
mov esi, dword [ebp - 0x17c]
cmp byte [esi + 0xe2], 0
jne 0x459647
mov dword [ebp - 0x1bc], 0x400
mov al, byte [esi + 0xe0]
mov byte [ebp - 0x158], al
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
mov byte [ebp - 4], 0xe
lea esp, [esp]
push dword [ebp - 0x158]
lea eax, [ebp - 0x152]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.00406320
mov cl, byte [ebp - 0x151]
test al, al
jne 0x4596b1
test cl, cl
je 0x45a247
mov al, byte [0x507a32]
test al, al
jne 0x45a241
test cl, cl
je 0x4596f6
cmp dword [ebp - 0x74], 7
lea ecx, [ebp - 0x88]
jbe 0x4596d4
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0x5c], 7
lea eax, [ebp - 0x70]
jbe 0x4596e0
mov eax, dword [ebp - 0x70]
push ecx
push eax
call fcn.004b4661
add esp, 8
neg eax
sbb al, al
not al
and byte [ebp - 0x151], al
push 0x507a7c
call fcn.00495b97
add esp, 4
test eax, eax
jne 0x45a38e
cmp dword [0x507aa8], 0x7fffffff
je 0x45a37d
lea eax, [ebp - 0x88]
mov ecx, 0x507aac
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.00404ea0
mov edi, dword [ebp - 0x1e4]
mov eax, dword [0x507aac]
cmp byte [edi + 0xd], 0
jne 0x459788
cmp dword [edi + 0x24], 7
lea eax, [edi + 0x10]
mov edx, dword [eax + 0x10]
jbe 0x459752
mov eax, dword [eax]
cmp dword [ebp - 0x74], 7
lea ecx, [ebp - 0x88]
jbe 0x459764
mov ecx, dword [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x78]
push eax
call fcn.00405130
add esp, 8
test eax, eax
je 0x45977c
shr eax, 0x1f
test al, al
jne 0x459783
mov eax, dword [0x507aac]
jmp 0x45978a
mov eax, dword [0x507aac]
mov edi, eax
cmp edi, eax
push 0x507a7c
setne byte [ebp - 0x159]
call fcn.00495bbc
add esp, 4
cmp byte [ebp - 0x159], 0
je 0x4597b4
mov edi, dword [ebp - 0x1a8]
jmp 0x459680
cmp dword [ebp - 0x74], 7
lea eax, [ebp - 0x88]
jbe 0x4597c6
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x1a8]
push eax
push 0x7fff
push edi
call fcn.004b30c0
add esp, 0xc
cmp byte [ebp - 0x152], 0
jne 0x459dd9
xor dl, dl
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
cmp byte [ebp - 0x151], dl
je 0x459a40
cmp dword [ebp - 0x5c], 7
lea eax, [ebp - 0x70]
jbe 0x459830
mov eax, dword [ebp - 0x70]
push eax
push 0x7fff
push edi
call fcn.004b30c0
add esp, 0xc
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x5c], 7
jbe 0x45984b
mov eax, dword [ebp - 0x70]
push 0
push 0x80
push 3
push 0
push 7
push 8
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4598c2
push 0x34
lea eax, [ebp - 0x104]
push 0
push eax
call fcn.004affe0
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov ecx, dword [ebp - 0xe4]
xor eax, eax
or eax, dword [ebp - 0xe0]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x168], ecx
mov ecx, dword [ebp - 0xec]
push esi
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x17c]
cmp byte [esi + 0xe0], 0
je 0x4598e2
mov byte [ebp - 0x158], 1
test dl, dl
jne 0x4598e9
mov byte [ebp - 0x158], 0
push edi
mov ecx, esi
call fcn.0045abc0
lea edx, [ebp - 0x16c]
mov byte [ebp - 0x159], al
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x16c], edi
call fcn.00462fb0
cmp dword [ebp - 0x180], 1
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x160]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x168]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
mov dword [edx + 0x44], eax
mov dword [edx + 0x48], ecx
mov al, byte [esi + 0xee]
mov byte [ebp - 0x19b], al
mov al, byte [esi + 0xf0]
mov byte [ebp - 0x19a], al
mov al, byte [esi + 0xe4]
mov cl, byte [ebp - 0x151]
mov byte [ebp - 0x199], al
mov al, byte [esi + 0xc5]
mov byte [ebp - 0x198], al
mov al, byte [esi + 0xf1]
mov byte [ebp - 0x197], al
mov al, byte [esi + 0xf3]
mov byte [ebp - 0x196], al
mov al, byte [esi + 0xea]
mov byte [ebp - 0x195], al
mov al, byte [esi + 0xec]
mov byte [ebp - 0x194], al
mov al, byte [esi + 0xe6]
mov byte [ebp - 0x193], al
mov al, byte [esi + 0xe8]
mov byte [ebp - 0x192], al
mov al, byte [esi + 0x115]
mov byte [ebp - 0x191], al
mov al, byte [esi + 0xf5]
mov byte [ebp - 0x19c], cl
mov byte [ebp - 0x151], al
mov byte [ebp - 0x190], al
jbe 0x459d18
cmp byte [ebp - 0x164], 0
je 0x4599fd
cmp byte [ebp - 0x159], 0
jne 0x459a05
test cl, cl
je 0x459ce7
cmp dword [esi + 0x64], 0
jne 0x459bf0
mov esi, dword [ebp - 0x1a0]
push 1
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x459a31
lock inc dword [esi + 4]
mov dword [eax], edx
mov dword [eax + 4], esi
call fcn.004440c0
jmp 0x459d9e
mov ecx, dword [ebp - 0x1c4]
add ecx, 0x28
je 0x4598ce
cmp byte [esi + 0xde], 0
jne 0x459a5d
test byte [ecx], 2
jne 0x459a6b
cmp byte [esi + 0xdc], 0
jne 0x459a6f
test byte [ecx], 4
je 0x459a6f
xor dl, dl
jmp 0x459a71
mov dl, 1
mov esi, dword [ecx + 0x1c]
xor eax, eax
or eax, dword [ecx + 0x20]
mov dword [ebp - 0x168], esi
mov esi, dword [ebp - 0x17c]
mov dword [ebp - 0x160], eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [ebp - 0x18c], eax
mov al, byte [esi + 0xc8]
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x188], ecx
test dl, dl
je 0x4598ce
test al, al
jne 0x459b3d
mov eax, dword [esi + 0xd8]
sub eax, 0
je 0x459b17
sub eax, 1
je 0x459af9
sub eax, 1
jne 0x459b3d
mov eax, dword [ebp - 0x168]
cmp eax, dword [esi + 0xd4]
jb 0x459aec
ja 0x459b35
mov eax, dword [ebp - 0x160]
cmp eax, dword [esi + 0xd0]
ja 0x459b35
xor dl, dl
mov dword [ebp - 0x164], edx
jmp 0x4598ce
mov eax, dword [ebp - 0x160]
cmp eax, dword [esi + 0xd0]
jne 0x459aec
mov eax, dword [ebp - 0x168]
cmp eax, dword [esi + 0xd4]
jne 0x459aec
jmp 0x459b35
mov eax, dword [ebp - 0x168]
cmp eax, dword [esi + 0xd4]
ja 0x459aec
jb 0x459b35
mov eax, dword [ebp - 0x160]
cmp eax, dword [esi + 0xd0]
jae 0x459aec
mov dl, 1
mov dword [ebp - 0x164], edx
mov eax, dword [esi + 0xfc]
add eax, 0x436
sub eax, 0x437
je 0x459bc9
sub eax, 1
je 0x459ba5
sub eax, 1
jne 0x4598ce
lea eax, [esi + 0x104]
push eax
lea eax, [ebp - 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
js 0x459aec
lea eax, [esi + 0x10c]
push eax
lea eax, [ebp - 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x459aec
mov edx, 1
mov dword [ebp - 0x164], edx
jmp 0x4598ce
lea eax, [esi + 0x104]
push eax
lea eax, [ebp - 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
setle dl
mov dword [ebp - 0x164], edx
jmp 0x4598ce
lea eax, [esi + 0x104]
push eax
lea eax, [ebp - 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov edx, eax
shr edx, 0x1f
xor dl, 1
mov dword [ebp - 0x164], edx
jmp 0x4598ce
lea eax, [esi + 0x6c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x1a4]
push eax
push ecx
lea ecx, [ebp - 0x1dc]
call fcn.004630d0
add esp, 0x1c
mov byte [ebp - 0x1d0], 0
mov esi, dword [eax]
mov dword [ebp - 0x16c], esi
mov dword [eax], 0
mov dword [ebp - 0x1d4], esi
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1dc]
test ecx, ecx
je 0x459c6a
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x459c6a
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x459c64
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x459c68
mov eax, dword [ecx]
push 1
call dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov byte [eax + 4], 0
test esi, esi
je 0x459c7d
lock inc dword [esi + 4]
mov esi, dword [ebp - 0x1a0]
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
test esi, esi
je 0x459c9d
lock inc dword [esi + 4]
mov eax, dword [ebp - 0x1a4]
mov dword [ecx], eax
mov dword [ecx + 4], esi
call fcn.00444240
mov ecx, dword [ebp - 0x16c]
test ecx, ecx
je 0x459d9e
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x459d9e
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x459cdc
mov eax, dword [edx]
push ecx
mov ecx, edx
call dword [eax]
jmp 0x459d9e
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x459d9e
mov esi, dword [ebp - 0x1a0]
push 0xffffffffffffffff
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x459d09
lock inc dword [esi + 4]
mov dword [eax], edx
mov dword [eax + 4], esi
call fcn.004440c0
jmp 0x459d9e
lea eax, [esi + 0x6c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [esi + 0x54]
mov esi, dword [ebp - 0x1a0]
push eax
mov eax, dword [ebp - 0x19c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0x198]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x194]
mov dword [ecx + 8], eax
mov al, byte [ebp - 0x151]
mov byte [ecx + 0xc], al
lea eax, [ebp - 0xa0]
push eax
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x459d76
lock inc dword [esi + 4]
mov dword [eax], edx
mov dword [eax + 4], esi
call fcn.0045adc0
add esp, 0x28
push eax
push dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x17c]
push 0x8003
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 4], 0xe
test esi, esi
je 0x459dc7
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x459dc7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x459dc7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x17c]
mov byte [ebp - 0x151], 0
jmp 0x459680
mov eax, dword [ebp - 0x1c4]
add eax, 0x28
mov dword [ebp - 0x160], eax
je 0x45a235
cmp byte [esi + 0xde], 0
jne 0x459dfc
test byte [eax], 2
jne 0x459e0a
cmp byte [esi + 0xdc], 0
jne 0x459e13
test byte [eax], 4
je 0x459e13
mov byte [ebp - 0x151], 0
jmp 0x459e1a
mov byte [ebp - 0x151], 1
xor eax, eax
mov ecx, edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 2]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x459e33
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.00403450
xor eax, eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x60]
cmp ecx, eax
jb 0x45a3a2
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x459e7c
or ecx, 0xffffffff
cmp dword [ebp - 0x44], 7
lea edx, [ebp - 0x58]
jbe 0x459e88
mov edx, dword [ebp - 0x58]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
or dword [ebp - 0x170], 4
lea ecx, [ebp - 0x58]
call fcn.004027a0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004027a0
mov edx, dword [ebp - 0x48]
test edx, edx
je 0x459fa1
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x58]
cmp eax, 7
seta byte [ebp - 0x159]
jbe 0x459f04
mov ecx, dword [ebp - 0x58]
cmp word [ecx], 0x5c
jne 0x459fa1
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
cmp edx, 1
jb 0x45a3a2
lea ecx, [edx - 1]
cmp ecx, 0xffffffff
jb 0x459f36
or ecx, 0xffffffff
cmp byte [ebp - 0x159], 0
lea eax, [ebp - 0x58]
je 0x459f45
mov eax, dword [ebp - 0x58]
push ecx
add eax, 2
lea ecx, [ebp - 0x28]
push eax
call fcn.00403450
or dword [ebp - 0x170], 0x20
lea ecx, [ebp - 0x58]
call fcn.004027a0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004027a0
mov al, byte [ebp - 0x151]
test al, al
je 0x45a00a
cmp dword [esi + 0xbc], 0
je 0x45a002
mov edx, dword [ebp - 0x160]
lea eax, [esi + 0xac]
add edx, 0x2c
mov ecx, eax
call fcn.004587c0
test al, al
jne 0x45a00a
mov edx, edi
lea ecx, [esi + 0xac]
call fcn.004587c0
test al, al
jne 0x45a00a
cmp dword [ebp - 0x44], 7
lea edx, [ebp - 0x58]
jbe 0x459feb
mov edx, dword [ebp - 0x58]
lea eax, [esi + 0xac]
mov ecx, eax
call fcn.004587c0
test al, al
jne 0x45a00a
mov al, byte [ebp - 0x151]
test al, al
je 0x45a00a
mov al, 1
jmp 0x45a00c
xor al, al
cmp byte [esi + 0xe0], 0
mov dword [ebp - 0x174], eax
je 0x45a026
mov byte [ebp - 0x158], 1
test al, al
jne 0x45a02d
mov byte [ebp - 0x158], 0
cmp dword [esi + 0x64], 0
jne 0x45a1f7
cmp dword [esi + 0x7c], 0
jne 0x45a1f7
push edi
mov ecx, esi
call fcn.0045abc0
test al, al
je 0x45a1f7
mov eax, dword [ebp - 0x174]
test al, al
je 0x45a102
mov eax, dword [esi + 0xfc]
add eax, 0x436
sub eax, 0x437
je 0x45a0e6
sub eax, 1
je 0x45a0c8
sub eax, 1
je 0x45a086
mov cl, byte [esi + 0xc8]
jmp 0x45a110
mov ecx, dword [ebp - 0x160]
lea eax, [esi + 0x104]
add ecx, 0x14
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
js 0x45a0c4
lea eax, [esi + 0x10c]
push eax
mov eax, dword [ebp - 0x160]
add eax, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jg 0x45a0c4
mov cl, byte [esi + 0xc8]
jmp 0x45a110
xor al, al
jmp 0x45a102
lea eax, [esi + 0x104]
push eax
mov eax, dword [ebp - 0x160]
add eax, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
setle al
jmp 0x45a102
lea eax, [esi + 0x104]
push eax
mov eax, dword [ebp - 0x160]
add eax, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
shr eax, 0x1f
xor al, 1
mov cl, byte [esi + 0xc8]
test al, al
je 0x45a1f7
test cl, cl
jne 0x45a167
mov eax, dword [esi + 0xd8]
sub eax, 0
je 0x45a14b
sub eax, 1
je 0x45a12f
sub eax, 1
je 0x45a1f7
jmp 0x45a167
cmp dword [esi + 0xd0], 0
jne 0x45a1f7
cmp dword [esi + 0xd4], 0
jne 0x45a1f7
jmp 0x45a167
cmp dword [esi + 0xd4], 0
jb 0x45a1f7
ja 0x45a167
cmp dword [esi + 0xd0], 0
jbe 0x45a1f7
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x16c], edi
lea ecx, [ebp - 0x1cc]
call fcn.00462fb0
mov ecx, dword [ebp - 0x160]
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1cc]
push 0xffffffffffffffff
mov eax, dword [ecx + 0x14]
sub esp, 8
mov ecx, dword [ecx + 0x18]
mov dword [edx + 0x44], eax
mov eax, esp
mov dword [edx + 0x48], ecx
mov ecx, dword [ebp - 0x1c8]
mov byte [edx + 0x65], 1
mov dword [eax], 0
mov dword [eax + 4], 0
test ecx, ecx
je 0x45a1c0
lock inc dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
call fcn.004440c0
mov ecx, dword [ebp - 0x1c8]
test ecx, ecx
je 0x45a1f7
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x45a1f7
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x1c8]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x45a1f7
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x44]
cmp eax, 7
jbe 0x45a235
mov edx, dword [ebp - 0x58]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45a22b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45a3a7
push ecx
push edx
call fcn.004accfd
add esp, 8
mov byte [ebp - 0x151], 0
jmp 0x459680
mov edi, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x88]
call fcn.004027a0
mov eax, dword [ebp - 0x1c4]
test eax, eax
je 0x45a2ab
lea esp, [esp]
mov ecx, dword [eax + 0x278]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x174], eax
cmp ecx, 0xffffffff
je 0x45a286
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x174]
lea ecx, [eax + 0x10]
call fcn.004027a0
push 0x27c
push dword [ebp - 0x174]
call fcn.004accfd
mov eax, dword [ebp - 0x16c]
add esp, 8
test eax, eax
jne 0x45a260
lea ecx, [ebp - 0xa0]
call fcn.004027a0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.004027a0
mov ecx, dword [ebp - 0x178]
add ecx, 0x18
mov dword [ebp - 0x178], ecx
cmp ecx, dword [ebp - 0x184]
jne 0x459360
cmp dword [ebp - 0x180], 1
ja 0x45a329
push 0
push 0
push 0x8004
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x1ac]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
call dword [sym.imp.USER32.dll_SetCursorPos]
push 0
push 0
push 0x8005
push dword [esi + 8]
call dword [sym.imp.USER32.dll_PostMessageW]
xor al, al
mov ecx, 0x507a2e
xchg byte [ecx], al
lea ecx, [ebp - 0xd0]
call fcn.004027a0
lea ecx, [ebp - 0x1b8]
call fcn.004020e0
test edi, edi
je 0x45a355
push edi
call fcn.004ad06e
add esp, 4
lea ecx, [ebp - 0x150]
call fcn.00441cb0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004accbf
mov esp, ebp
pop ebp
ret
push 6
mov dword [0x507aa8], 0x7ffffffe
call fcn.00495b16
push 5
call fcn.00495b16
dec eax
push 6
mov dword [0x507b14], eax
call fcn.00495b16
call fcn.00404b30
call fcn.004b306f
leave
xchg ecx, eax
inc ebp
add cl, bl
xchg ecx, eax
inc ebp
add byte [eax], al
add dword [ecx], eax
add dword [eax], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
int3