Function at 0x10018c4a
Capabilities:
Get file system object information

Disassembly:
mov eax, 0x100802c5
call fcn.1007f9c0
sub esp, 0x1f8
push ebx
push esi
push edi
mov dword [ebp - 0x90], ecx
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x34], 0x22124f84
mov dword [ebp - 0x2c], 0xfffffff9
push 4
mov dword [ebp - 0x6c], edx
call fcn.10016f28
xor ebx, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10018ca5
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0xcd50997
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10018c92
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 1
setle cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x1a8]
inc dword [ebp - 0x30]
call fcn.10016faa
or edi, 0xffffffff
mov dword [ebp - 0x18], 0x8e418a52
mov dword [ebp - 0x1c], edi
lea ecx, [ebp - 0x11c]
push 2
call fcn.10016f28
mov dword [ebp - 0x30], 0x6b37990
mov dword [ebp - 0x28], 0x1ee4cff1
mov dword [ebp - 0x24], ebx
jmp 0x10018d07
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x71a0513
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10018cf4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x10018d1b
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [eax]
xor eax, eax
cmp ecx, 0x14b1
setge al
xor ecx, ecx
cmp eax, 0xfffffffe
setge cl
xor eax, eax
cmp ecx, edi
setne al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
je 0x10018d7a
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0x11c]
call fcn.10016faa
push 2
lea ecx, [ebp - 0xcc]
call fcn.10016f28
and dword [ebp - 4], 0
lea ecx, [ebp - 0xa8]
push 3
pop esi
push esi
call fcn.10016f28
push 2
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 1
call fcn.10016f28
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x1c], 0xb34e6d4f
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x18], 0x5872
mov dword [ebp - 0x24], 0x623b4709
mov dword [ebp - 0x20], 0x78ef
mov dword [ebp - 0x14], 0xcc72b752
mov dword [ebp - 0x30], 0xc0a1033
mov dword [ebp - 0x3c], 0xf537
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x28], 0x927d
mov dword [ebp - 0x30], ecx
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x14], ecx
jmp 0x10018e36
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10018e28
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], cl
je 0x10018e4c
call ebx
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x6ac116e0
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
add edx, 2
mov dword [ebp - 0x30], edx
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x7c], 0xfffffffc
mov dword [ebp - 0x24], 0x140da8f9
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], edx
jl 0x10018f47
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0x29358db
mov dword [ebp - 0x28], 0x825d0bc5
mov dword [ebp - 0x28], 0xf73ecb6a
mov dword [ebp - 0x28], 0x330c202e
mov dword [ebp - 0x1c], edx
jmp 0x10018f19
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1f4], 0xbbe75688
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10018f08
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x80], edx
jne 0x10018f2f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], ecx
dec dword [ebp - 0x14]
jns 0x10018ee4
mov dword [ebp - 0x20], 4
jmp 0x10018f84
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x10018f6a
push edx
push 0x85a
call ebx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor edx, edx
mov dword [ebp - 0x18], edx
jmp 0x10018f7b
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x80], edx
jne 0x10018f81
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10018f6f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x22
jne 0x10018f50
mov dword [ebp - 0x28], 0x9ff4c90e
mov dword [ebp - 0x20], edx
jmp 0x10018fa9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10018f96
mov dword [ebp - 0x20], edx
jmp 0x10018fc7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10018fb4
mov dword [ebp - 0x20], edx
jmp 0x10018fe4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xbdbdf7cd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10018fd1
mov esi, dword [ebp - 0xa8]
mov dword [esi + 4], 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x34], 0xa73d2d67
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], 0xd8ea5f34
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 1
jg 0x10019118
mov edi, dword [ebp - 0xf8]
or ebx, 0xffffffff
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x3c], 0x6edad94e
mov dword [ebp - 0x34], 0x2f88d967
push 2
call fcn.10016f28
mov dword [ebp - 0x1c], 0
jmp 0x1001906f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0x9d73df2e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001905c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
mov eax, dword [ebp - 0xcc]
sub edx, dword [eax + ecx*4]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x3fa9
setge al
cmp eax, 2
sbb eax, eax
inc eax
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x134]
cmp dword [eax], 0xea418246
sbb eax, eax
add eax, 2
inc eax
je 0x100190df
cmp dword [ebp - 0x30], 0
je 0x100190df
xor edx, edx
inc edx
jmp 0x100190e1
xor edx, edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x134]
call fcn.10016faa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
push 0
pop edx
jle 0x10019032
or edi, 0xffffffff
dec dword [esi + 4]
jns 0x10018ff7
lea ecx, [ebp - 0xf8]
call fcn.10016faa
lea ecx, [ebp - 0xa8]
call fcn.10016faa
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], edi
call fcn.10016faa
push 1
lea ecx, [ebp - 0x104]
call fcn.10016f28
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor edx, edx
mov dword [ebp - 0x24], 0xf73838a
mov dword [ebp - 0x1c], edx
jmp 0x10019175
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10019166
mov dword [ebp - 0x24], edx
jmp 0x10019193
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 1
jl 0x10019180
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x100191ab
push edx
push edx
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
lea ecx, [ebp - 0x104]
call fcn.10016faa
mov dword [ebp - 0x24], 5
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x14], edi
push 2
call fcn.10016f28
push 3
pop edi
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x18], 0x11bd77df
push 1
call fcn.10016f28
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x2c], 0xe71ebdc5
mov dword [ebp - 0x20], edx
jmp 0x10019207
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100191f8
mov dword [ebp - 0x20], edx
jmp 0x10019221
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x10019212
mov dword [ebp - 0x20], edx
jmp 0x1001923d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1b4], 0xf12afbca
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001922c
mov eax, dword [ebp - 0x14]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
cmp eax, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x6728
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x14]
add ecx, 0x1733e6a8
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
sub edx, 0xfffffffa
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x14]
cmp edx, eax
setle cl
cmp ecx, 0xfa3a92bd
sbb eax, eax
xor ecx, ecx
inc eax
cmp esi, eax
mov eax, dword [ebp - 0x14]
sete cl
cmp ecx, 0xcad8e65d
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x8c]
setge dl
neg edx
mov dword [eax], edx
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18], 3
mov eax, dword [ebp - 0xb4]
add ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x18]
mov dword [eax], edi
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x8c]
setne cl
sub ecx, dword [eax]
xor eax, eax
cmp ecx, 5
setne al
or esi, 0xffffffff
cmp esi, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x8c]
setg cl
mov dword [eax], ecx
lea ecx, [ebp - 0x8c]
call fcn.10016faa
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], esi
call fcn.10016faa
mov dword [ebp - 0x30], 0x95ed7c6a
xor edx, edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], edx
jmp 0x100193a5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1001939b
push 0x10
pop esi
mov dword [ebp - 0x38], esi
jmp 0x100193ee
mov dword [ebp - 0x2c], 0x4288a137
cmp dword [ebp - 0x2c], edx
jne 0x100193f3
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x100193eb
push 0x190f
push edx
push 0x148c
push 0x13c6
push edx
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
xor edx, edx
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jge 0x100193b3
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 1
setl cl
cmp ecx, dword [ebp - 0x38]
jne 0x1001945a
mov dword [ebp - 0x18], 0x67f8b4df
mov dword [ebp - 0x2c], 0x2e3f9150
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xcaa8e55a
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], 0xd
jmp 0x1001944f
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x1001944c
push edx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x34
jl 0x10019439
jmp 0x10019514
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x14], 0x6fb9
mov dword [ebp - 0x2c], 0x92404e54
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0xffffffe9
jl 0x100194e7
or ebx, 0xffffffff
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], edx
jmp 0x100194c0
mov dword [ebp - 0x1c], 0xfffffffa
cmp dword [ebp - 0x20], edx
je 0x100194b2
cmp dword [ebp - 0x14], edx
jne 0x100194ad
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], eax
jne 0x100194ad
cmp dword [ebp - 0x1c], edx
jne 0x100194ad
cmp dword [ebp - 0x18], edx
je 0x100194b2
xor eax, eax
inc eax
jmp 0x100194b4
mov eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jne 0x1001948a
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x100194d8
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor edx, edx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe9
jge 0x1001947b
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x14], 0x17
jmp 0x1001950e
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x10019504
call ebx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
xor edx, edx
mov dword [ebp - 0x38], 0xb0c3e5f8
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
je 0x100194f0
push 2
mov dword [ebp - 0x14], edx
pop ecx
jmp 0x1001952d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1dc], 0x6d54ec7e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001951c
mov dword [ebp - 0x18], 0xf43b
push 4
mov dword [ebp - 0x2c], 0xe97eede0
mov dword [ebp - 0x1c], edx
pop esi
jmp 0x10019559
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1c4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10019548
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], edx
jmp 0x1001957a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10019569
mov dword [ebp - 0x14], edx
jmp 0x10019595
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec], 0x9bfaead2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10019584
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], 0x7f4a7d2a
mov dword [ebp - 0x30], edi
push edi
call fcn.10016f28
mov dword [ebp - 0x28], 0xe785c2f4
mov dword [ebp - 0x14], 0x84f75df1
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], 0
jmp 0x100195e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 0x7e6aa165
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100195d4
mov dword [ebp - 0x14], 0
jmp 0x10019606
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x50c19791
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100195f3
mov dword [ebp - 0x94], 0xfeae
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x94]
add ecx, eax
mov edi, dword [ebp - 0xc0]
xor eax, eax
cmp ecx, 0x5674
setl al
xor edx, edx
mov dword [edi + 8], ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x30], 0
je 0x100196f3
mov eax, dword [ebp - 0x14]
sub eax, 0xfffffff6
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x20]
jne 0x10019692
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc0]
mov ecx, 0x8fba323a
cmp ecx, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
sbb eax, eax
xor edx, edx
inc eax
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x9c]
setge dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x9c]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setg cl
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xa504a86d
jbe 0x100196f3
xor eax, eax
inc eax
jmp 0x100196f5
xor eax, eax
sub eax, dword [edi + 8]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x30], eax
call fcn.10016faa
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
je 0x10019bea
push 0xfffffffffffffffd
mov dword [ebp - 0x18], 0x20624039
mov dword [ebp - 0x18], 8
pop esi
jmp 0x10019751
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x1c], 0x1d
jmp 0x10019749
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10019746
push ecx
call dword [sym.imp.USER32.dll_RegisterClassA]
xor ecx, ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jne 0x10019734
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffe
jg 0x10019724
mov dword [ebp - 0x20], 0xe60e7790
lea ecx, [ebp - 0x14c]
push 1
call fcn.10016f28
mov dword [ebp - 4], 4
push 0xfffffffffffffff7
mov dword [ebp - 0x18], 0x1824a8c6
mov dword [ebp - 0x18], 0
pop edi
jmp 0x100197f7
push 2
lea ecx, [ebp - 0x110]
call fcn.10016f28
mov dword [ebp - 0x1c], 0x137b1891
mov dword [ebp - 0x1c], 0
jmp 0x100197b1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100197a2
mov dword [ebp - 0x1c], 0
jmp 0x100197dd
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x100197da
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jle 0x100197c0
cmp dword [ebp - 0x18], 0
lea ecx, [ebp - 0x110]
jne 0x100197fe
call fcn.10016faa
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jge 0x10019785
jmp 0x10019803
call fcn.10016faa
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x10019813
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [ebp - 0x44], 0
jmp 0x1001982a
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x4c], 0
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x1001981c
mov dword [ebp - 0x18], 0x714
lea ecx, [ebp - 0xd8]
push 1
call fcn.10016f28
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x1c], 0
push 1
call fcn.10016f28
push 0xfffffffffffffffa
mov dword [ebp - 0x28], 0x245e3205
xor edx, edx
pop edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x14], edx
jmp 0x10019883
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0x66febfb2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10019870
mov dword [ebp - 0x14], edx
jmp 0x100198a1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0x96bb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1001988e
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x100198bd
call ebx
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_SetParent]
xor edx, edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], edx
je 0x100198ee
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dword [eax], 0xfffffffc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
or eax, 0xffffffff
sub eax, edx
jne 0x100198ee
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x7b17
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10016faa
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 4
call fcn.10016faa
lea eax, [ebp - 0x14c]
push eax
push 0x1f48
push 0
lea eax, [ebp - 0x44]
push 0x719d
push eax
call fcn.1001aaea
mov dword [ebp - 0x18], 0xfffffffb
add esp, 0x14
mov dword [ebp - 0x18], 0xffffffee
jmp 0x100199be
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], 0x2c58fb77
mov dword [ebp - 0x1c], 0
jmp 0x1001998a
cmp dword [ebp - 0x2c], 0
jne 0x10019990
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x10019987
call ebx
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
jne 0x1001996e
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x100199bb
push 0
call ebx
push eax
push 0x215d
push 0x1bd2
push 0x213d
push 0xb45
push 0
call dword [sym.imp.USER32.dll_TrackPopupMenu]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jne 0x1001995b
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
inc eax
imul ecx, eax
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x24], ecx
je 0x100199ff
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
push 3
setg dl
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
pop esi
setne dl
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14c]
push esi
mov dword [eax], ecx
lea ecx, [ebp - 0x5c]
call fcn.10016f28
mov byte [ebp - 4], 6
xor edx, edx
mov dword [ebp - 0x2c], 0x6c8400b8
mov dword [ebp - 0x14], edx
jmp 0x10019a55
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10019a4b
mov dword [ebp - 0x14], edx
jmp 0x10019a70
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019a60
mov edi, dword [ebp - 0x5c]
mov dword [edi], edx
mov dword [ebp - 0x18], 0x3cf81320
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x28], 0x6e289aa5
mov dword [ebp - 0x34], 1
push 2
call fcn.10016f28
mov dword [ebp - 0x1c], 0
jmp 0x10019ab8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10019aa5
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x5c]
cmp dword [eax], ecx
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
add eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
cmp esi, ecx
sbb eax, eax
inc eax
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
jne 0x10019b03
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 0
je 0x10019b03
xor edx, edx
inc edx
jmp 0x10019b05
xor edx, edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp dword [edi + 8], ecx
setl al
sub eax, 0xa81d
je 0x10019b29
cmp dword [ebp - 0x18], 0
je 0x10019b29
xor eax, eax
inc eax
jmp 0x10019b2b
xor eax, eax
sub eax, dword [edi + 8]
inc eax
je 0x10019b3c
cmp dword [ebp - 0x50], 0
je 0x10019b3c
xor edx, edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xeb92
jg 0x10019b5b
mov dword [ebp - 0x14], 0xa48bbca6
mov dword [ebp - 0x34], 0x611bc38
mov dword [ebp - 0x1c], ecx
jmp 0x10019c0b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74], 0xdc4b4e12
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10019bfd
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0xffffffe3
jle 0x10019d2d
xor edx, edx
inc edx
mov dword [ebp - 0x18], 0x24cdb8fa
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x28], 0x7ea4
mov dword [ebp - 0x2c], 0xf15cc7c4
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ecx
jl 0x10019d20
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10019c7c
push ecx
push ecx
push 0x21ed
push ecx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], ecx
jl 0x10019d17
mov dword [ebp - 0x1c], 0x8e418a52
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x74]
sub eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ecx
jl 0x10019d0e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x74]
cmp dword [ebp - 0x24], ecx
je 0x10019cf4
mov esi, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x154], esi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x74]
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp ecx, eax
setg dl
xor eax, eax
add edx, dword [ebp - 0x2c]
cmp esi, edx
setle al
cmp eax, 0xfffffff6
jne 0x10019cf2
xor edx, edx
inc edx
jmp 0x10019cf6
xor ecx, ecx
mov edx, ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
push 0
setge cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x1c]
pop ecx
jns 0x10019ca4
xor edx, edx
inc edx
dec dword [ebp - 0x24]
jns 0x10019c88
dec dword [ebp - 0x18]
jns 0x10019c5a
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
jg 0x10019c21
mov dword [ebp - 0x14], ecx
jmp 0x10019d54
cmp byte [ebp - 0xd], 0
je 0x10019d51
push 0xbbb
push 0x152
push ecx
push 0x1a8e
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
xor ecx, ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x18
mov byte [ebp - 0xd], cl
jle 0x10019d32
cmp byte [ebp - 0xd], 0
je 0x10019d74
push ecx
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RectVisible]
push 2
lea ecx, [ebp - 0x174]
call fcn.10016f28
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x28], 0xb15a
mov dword [ebp - 0x2c], 0xee1d459
push 1
call fcn.10016f28
xor ebx, ebx
mov dword [ebp - 0x34], 0xcbedfa90
mov dword [ebp - 0x14], ebx
jmp 0x10019dc4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], 0xafa2fafd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10019db1
mov dword [ebp - 0x14], ebx
jmp 0x10019de2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0xc099
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10019dcf
mov dword [ebp - 0x14], ebx
jmp 0x10019dfe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d4], 0xb347d170
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10019ded
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x19c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d4], ebx
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
call fcn.10016faa
or edi, 0xffffffff
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], edi
call fcn.10016faa
mov byte [ebp - 0x3d], bl
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x34], 0x22124f84
mov dword [ebp - 0x28], 0xfffffff9
push 4
call fcn.10016f28
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10019e78
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0xcd50997
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10019e65
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 1
setle cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x190]
inc dword [ebp - 0x28]
call fcn.10016faa
lea eax, [ebp - 0x3d]
push ebx
push eax
call fcn.1001ac2b
pop ecx
pop ecx
mov dword [ebp - 0x18], 0x3c40
mov dword [ebp - 0x14], 0x74579933
mov dword [ebp - 0x28], 0x8db8846b
mov dword [ebp - 0x2c], 0xe4a6b2c4
mov dword [ebp - 0x1c], ebx
jmp 0x10019ed8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e4], 0x216709e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10019ec7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10019f2b
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
push 3
pop esi
push esi
lea ecx, [ebp - 0xe4]
call fcn.10016f28
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x2c], 0x7d393e75
mov dword [ebp - 0x2c], 0x2afa0177
mov dword [ebp - 0x1c], 0x5acee617
mov dword [ebp - 0x24], 0x9e885dc1
mov dword [ebp - 0x30], ebx
push 2
call fcn.10016f28
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 9
call fcn.10016f28
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], 0x69fbc0ae
mov dword [ebp - 0x3c], 0xbfe21dab
mov dword [ebp - 0x14], ebx
jmp 0x10019fad
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0x87d0fa51
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019f9a
mov dword [ebp - 0x14], ebx
jmp 0x10019fca
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0xf2d6273
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10019fb7
mov dword [ebp - 0x14], ebx
jmp 0x10019fe5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0xc6a37d7c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019fd5
mov eax, dword [ebp - 0xe4]
cmp dword [eax + 4], ebx
jne 0x1001a004
mov dword [ebp - 0x24], 9
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
dec dword [eax]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0xe4]
xor eax, eax
mov ecx, dword [ebp - 0x2c]
cmp dword [edi + 8], ebx
setle al
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x140]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge bl
add ebx, 6
neg ebx
sbb ebx, ebx
xor ecx, ecx
neg ebx
cmp ebx, eax
mov dword [esi + 4], ebx
setl cl
xor eax, eax
cmp ecx, dword [edi + 8]
setl al
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
cmp dword [eax + 4], ebx
jne 0x1001a07e
cmp dword [esi + 4], ebx
je 0x1001a06e
cmp dword [ebp - 0x1c], ebx
je 0x1001a06e
xor eax, eax
inc eax
jmp 0x1001a070
mov eax, ebx
imul eax, eax, 0x9f41
test eax, eax
jne 0x1001a07e
mov edx, ebx
jmp 0x1001a081
xor edx, edx
inc edx
mov eax, dword [ebp - 0x68]
xor ecx, ecx
cmp edx, dword [eax + 8]
setle cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x501494d8
setg cl
add ecx, 0xc
je 0x1001a0b1
cmp dword [ebp - 0x24], ebx
je 0x1001a0b1
xor eax, eax
inc eax
jmp 0x1001a0b3
mov eax, ebx
mov dword [edi + 8], eax
or ecx, 0xffffffff
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
lea ecx, [ebp - 0x68]
setne dl
xor edi, edi
mov dword [ebp - 0x18], edx
inc edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [esi + 4], edi
setge al
mov dword [esi + 4], eax
call fcn.10016faa
lea ecx, [ebp - 0x140]
call fcn.10016faa
or eax, 0xffffffff
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], eax
call fcn.10016faa
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xdfe012d2
mov dword [ebp - 0x2c], 0x25d2d915
mov dword [ebp - 0x2c], 0x13a6c9cd
mov dword [ebp - 0x2c], 0x5ebda184
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001a160
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x204], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1001a153
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 0x3fbb
setge cl
xor eax, eax
cmp ecx, 0xffff59d7
setg al
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x24], eax
jg 0x1001a193
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
jmp 0x1001a1a3
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], cl
je 0x1001a1a3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov eax, dword [ebp - 0x6c]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x90]
dec dword [ebp - 0x28]
mov edi, edx
mov esi, eax
call fcn.10018bd8
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret