Function at 0x1004e022
Capabilities:
Compare security identifiers

Disassembly:
mov eax, 0x1006df95
call fcn.1006c8f0
sub esp, 0x184
push ebx
xor ebx, ebx
mov dword [ebp - 0x18], 0xd4e06482
push esi
mov dword [ebp - 0x10], ebx
push edi
mov byte [ebp - 0x39], dl
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x14], ebx
jmp 0x1004e05d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004e04c
push 1
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1004e163
push 3
lea ecx, [ebp - 0xcc]
call fcn.10016ac8
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0x4bda99da
mov dword [ebp - 0x14], ebx
jmp 0x1004e0a4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xd925b0e4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e091
mov dword [ebp - 0x20], ebx
jmp 0x1004e112
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x18]
cmp eax, 0x41dbc46d
mov eax, 0xc2285faa
setge cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0x4415
setl cl
mov dword [ebp - 0x10], ecx
inc dword [ebp - 0x20]
xor ecx, ecx
cmp dword [ebp - 0x20], 2
jle 0x1004e0af
mov eax, dword [ebp - 0x10]
cmp eax, 4
mov eax, dword [ebp - 0xcc]
setge cl
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0xcc]
setg dl
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
call fcn.10016b4a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jle 0x1004e06e
mov dword [ebp - 0x18], 3
jmp 0x1004e192
mov dword [ebp - 0x10], ebx
jmp 0x1004e18a
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x124], ebx
jne 0x1004e18f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1004e17b
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff5
jl 0x1004e176
mov dword [ebp - 0x20], 0xde19d29b
xor ecx, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], 0x9ba87a5e
mov dword [ebp - 0x38], 0xccae
mov dword [ebp - 0x38], 0x4f9a0237
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x18], 0xae9f9034
mov eax, dword [ebp - 0x20]
cmp eax, 0xfd43
mov eax, 0xffff468e
setl cl
sub eax, ecx
jne 0x1004e1de
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setge cl
xor edx, edx
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setl dl
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
jne 0x1004e227
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004e229
mov eax, esi
cmp eax, 0xe3d1aa12
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setg dl
xor ecx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
test eax, eax
sets cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1004e293
mov dword [ebp - 0x18], 0xffffffed
jmp 0x1004e28a
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004e287
push 0x1ed1
push ebx
push 0x1052
push 0x240
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffc
jge 0x1004e269
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jg 0x1004e260
mov edi, dword [0x100738ac]
mov dword [ebp - 0x18], 0x7c66
cmp dword [ebp - 0x18], 0x7d9d
mov dword [ebp - 0x38], edi
jle 0x1004e31a
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], 0x1cef
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x178]
cdq
push edx
push eax
call fcn.1000a6ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004e2e1
mov eax, dword [eax]
push eax
call fcn.10055f03
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x178]
call fcn.1001732e
inc edi
cmp edi, 0x5dee
jl 0x1004e2c3
dec esi
dec dword [ebp - 0x2c]
jne 0x1004e2c1
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x5374
jl 0x1004e2b7
mov edi, dword [ebp - 0x38]
xor esi, esi
inc esi
mov dword [ebp - 0x20], 0xe39e
mov dword [ebp - 0x14], 0xfd1f2e96
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], 0xd17cd953
mov dword [ebp - 0x24], 0x158fb5c4
mov dword [ebp - 0x14], ebx
jmp 0x1004e34f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004e33e
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffff6
pop edx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
je 0x1004e376
mov eax, esi
cmp dword [ebp - 0x20], ebx
jne 0x1004e378
mov eax, ebx
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
sete cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, 5
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
cmp dword [ebp - 0x24], eax
setge cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x20]
je 0x1004e3ce
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0xfffe
mov dword [ebp - 0x24], 0xa9e1a0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x18], 0x79d1
jge 0x1004e408
push 0x10008f54
call fcn.10055f03
pop ecx
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0xfffffff4
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
jmp 0x1004e480
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100090f0]
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x134]
mov dword [ebp - 0xa0], ebx
push eax
push ebx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x9c], ebx
movdqu xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x98], ebx
call fcn.10019e53
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xa0]
mov dword [eax + 0xc], ebx
call fcn.10016b4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffc
jge 0x1004e42a
xor esi, esi
inc esi
cmp byte [ebp - 0x39], bl
je 0x1004e844
cmp edi, esi
jne 0x1004e844
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100090b0]
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x8c], ebx
push eax
push ebx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x88], ebx
movdqu xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x84], ebx
call fcn.10019e53
push 2
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x20], 0xc8ef34ea
mov dword [ebp - 0x28], 0x4e0b
mov dword [ebp - 0x10], ebx
jmp 0x1004e500
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x74], 0xa6847dfa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1004e4f2
mov dword [ebp - 0x10], ebx
jmp 0x1004e51c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x94], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004e50b
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x44], edi
mov dword [edi + 4], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], 0x5ff57440
mov dword [ebp - 0x18], ebx
jmp 0x1004e554
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004e551
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 2
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1004e53c
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jg 0x1004e6b7
xor edi, edi
inc edi
push 4
lea ecx, [ebp - 0xfc]
call fcn.10016ac8
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004e59b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xe58bfc4f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004e588
mov esi, dword [ebp - 0xfc]
mov dword [esi + 0xc], 2
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004e683
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100090c0]
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0x68], ebx
push eax
push ebx
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x64], ebx
movdqu xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x60], ebx
call fcn.10019e53
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x2c], 0x15b01d97
mov dword [eax], ebx
mov eax, dword [ebp - 0x18]
push 2
mov eax, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setg dl
xor ecx, ecx
add edx, 0x1d0b6bd0
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
setns cl
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
pop edx
mov eax, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jl 0x1004e66f
mov eax, dword [ebp - 0x68]
mov ecx, 0xfc53
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x74], ecx
dec dword [ebp - 0x10]
jns 0x1004e651
mov eax, dword [ebp - 0x68]
inc dword [eax]
cmp dword [eax], edx
jle 0x1004e5fc
lea ecx, [ebp - 0x68]
call fcn.10016b4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1004e5bd
dec dword [esi + 0xc]
jns 0x1004e5ae
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 2
call fcn.10016b4a
inc dword [ebp - 0x18]
push 2
pop ecx
cmp dword [ebp - 0x18], ecx
jle 0x1004e568
mov edi, dword [ebp - 0x44]
dec dword [edi + 4]
jns 0x1004e52d
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jne 0x1004e6cc
mov ecx, ebx
jmp 0x1004e6cf
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp dword [edi + 4], ebx
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp edx, eax
sete cl
add ecx, 0xc9e4
cmp ecx, 0x2921
jge 0x1004e704
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x94], ebx
or dword [ebp - 4], 0xffffffff
call fcn.10016b4a
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], 0xac64a684
mov dword [ebp - 0x24], 0xd0b6
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
mov dword [esi + 8], 4
je 0x1004e745
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
mov dword [ebp - 0x18], 0xfffffff7
cmp dword [ebp - 0x18], 0xfffffff9
jle 0x1004e83a
xor edi, edi
inc edi
mov dword [ebp - 0x20], 0x452a26f3
lea ecx, [ebp - 0xd8]
push edi
call fcn.10016ac8
mov dword [ebp - 0x10], ebx
jmp 0x1004e784
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xa1434a9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004e771
mov dword [ebp - 0x10], ebx
jmp 0x1004e79f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x90], 0xff57440e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004e78e
cmp dword [ebp - 0x20], 0x8858
je 0x1004e7be
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ebx
je 0x1004e7c5
mov ecx, edi
cmp dword [ebp - 0x18], ebx
jne 0x1004e7c7
mov ecx, ebx
mov eax, dword [ebp - 0x20]
add eax, ecx
jne 0x1004e7d1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setg dl
add edx, 9
je 0x1004e7e6
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
push 6
pop edx
sub ecx, edx
neg ecx
mov dword [eax], edx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xffffffff
lea ecx, [ebp - 0xd8]
setg al
mov dword [ebp - 0x90], eax
call fcn.10016b4a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff9
jg 0x1004e759
mov dword [esi + 0xc], 0x100738ac
xor esi, esi
inc esi
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 0xe4]
push 3
call fcn.10016ac8
mov dword [ebp - 4], 4
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x24], 0xf0488f4f
mov dword [ebp - 0x14], ebx
jmp 0x1004e881
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e86e
mov dword [ebp - 0x14], ebx
jmp 0x1004e9a3
mov dword [ebp - 0x20], 0x207c
cmp dword [ebp - 0x20], 0x23a9
jle 0x1004e917
mov dword [ebp - 0x2c], ebx
mov edx, ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, dword [ebp - 0x2c]
add ecx, edx
and eax, ecx
lea ecx, [ebp - 0x190]
cdq
push edx
push eax
call fcn.1000a6ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004e8d0
mov eax, dword [eax]
push eax
call fcn.10055f03
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x190]
call fcn.1001732e
mov edx, dword [ebp - 0x28]
inc esi
cmp esi, 0x3d90
jl 0x1004e8ab
inc edi
cmp edi, 0x7475
jl 0x1004e8a9
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0xabe
jl 0x1004e8a7
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x346e
jl 0x1004e8a2
xor esi, esi
inc esi
mov dword [ebp - 0x10], 0x4c506d44
cmp dword [ebp - 0x20], 0x1d64
jge 0x1004e932
push 0x10008f90
call fcn.10055f03
pop ecx
mov dword [ebp - 4], 4
mov dword [ebp - 0x10], 0xffffffe7
jmp 0x1004e994
xor edx, edx
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x28]
cmp eax, 0x106ec6e5
mov eax, dword [ebp - 0xe4]
setl dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x28]
sete cl
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
setge dl
mov dword [ebp - 0x24], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1a
je 0x1004e942
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe9
jle 0x1004e88f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.10016b4a
mov edi, dword [ebp - 0x30]
cmp edi, dword [ebp - 0x38]
jge 0x1004f0e9
mov esi, 0x100738b0
test edi, edi
jle 0x1004ec71
mov dword [ebp - 0x10], 0x9b55bb2c
lea ecx, [ebp - 0xf0]
push 2
call fcn.10016ac8
push 2
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1004ea04
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x6893
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004e9f1
push 0xffffffffffffffe7
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x1004ea38
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004ea30
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x417
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004ea1d
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1004ea11
lea ecx, [ebp - 0xf0]
call fcn.10016b4a
mov eax, dword [esi]
mov dword [ebp - 0x10], 0x2c03342e
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], edi
jmp 0x1004eaad
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004ea76
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004ea65
mov dword [ebp - 0xb0], 0xfffffffc
jmp 0x1004ea9b
mov dword [ebp - 0x24], 0xf23b1a95
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0xb0]
cmp dword [ebp - 0xb0], 0xffffffff
jl 0x1004ea88
mov eax, dword [ebp - 0xb0]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe2
jne 0x1004ea59
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004eac3
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
mov edi, dword [esi + 4]
xor ecx, ecx
mov dword [ebp - 0x40], 0x13dce9d
add esi, 8
inc ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x40], 0xb9da4d07
mov dword [ebp - 0x40], 0xfc0272a7
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xd020bd2a
mov dword [ebp - 0x40], 0xf3d4e677
mov dword [ebp - 0x28], 0x5e1f6f08
mov dword [ebp - 0x14], ebx
jmp 0x1004eb11
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004eb04
dec dword [ebp - 0x28]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004eb44
push ebx
push 0x188a
push 0x267b
push 0x1d09
push 0x69d
push 0x14f7
push ebx
call dword [sym.imp.USER32.dll_TrackPopupMenu]
test edi, edi
jne 0x1004eb4e
add esi, 8
mov dword [ebp - 0x2c], esi
push 2
lea ecx, [ebp - 0x80]
call fcn.10016ac8
mov dword [ebp - 0x28], 0x51a93826
mov dword [ebp - 0x10], ebx
jmp 0x1004eb74
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004eb64
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x1004eb90
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1004eb82
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ecx
jg 0x1004ec5d
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jl 0x1004ebe9
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004ebd0
push 0xd20
push 0x2598
push ebx
push 0x1006
push ebx
call dword [sym.imp.USER32.dll_GetMenuStringW]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004ebe4
push 0x1cd1
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
dec dword [ebp - 0x14]
jns 0x1004ebb0
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x80]
cmp dword [eax + ecx*4], ebx
je 0x1004ec08
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ecx + 4]
jge 0x1004ec08
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
cmp dword [ecx + esi*4], eax
mov ecx, dword [ebp - 0x34]
setl dl
xor eax, eax
cmp edx, 8
setl al
xor edx, edx
cmp eax, 0x9495
mov eax, dword [ebp - 0x80]
setge dl
sub ecx, dword [eax + edi*4]
sub ecx, edx
mov edx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
xor ecx, ecx
inc dword [ebp - 0x34]
inc ecx
cmp dword [ebp - 0x34], ecx
jle 0x1004eba1
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x80]
call fcn.10016b4a
add esi, dword [ebp - 0x44]
dec dword [ebp - 0x30]
jne 0x1004e9d5
push 2
pop eax
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x108]
xor edi, edi
mov dword [ebp - 0x10], 0xfffffff8
inc edi
mov dword [ebp - 0x44], 0x2835357f
mov dword [ebp - 0x28], edi
push eax
call fcn.10016ac8
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x24], 0x5fb5
mov dword [ebp - 0x14], ebx
jmp 0x1004ecb9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], 0xec4f3f7e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004eca6
inc dword [ebp - 0x30]
xor ecx, ecx
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
cmp dword [edi + 4], eax
sete cl
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
setne cl
cmp edx, ecx
jl 0x1004ecee
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x108]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [edi + 4], eax
call fcn.10016b4a
mov edi, dword [esi]
lea ecx, [ebp - 0x58]
add esi, 4
mov dword [ebp - 0x20], edi
push 4
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x40], eax
call fcn.10016ac8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x30], 0xfa6f63ee
mov dword [ebp - 0x44], 0x95cc9e52
mov dword [ebp - 0x24], 0x8233
mov dword [ebp - 0x10], ebx
jmp 0x1004ed60
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1004ed50
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x1004ed78
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1004ed6e
mov dword [ebp - 0x18], 0xcff0ea75
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jg 0x1004ef85
mov eax, dword [ebp - 0x58]
xor edi, edi
mov dword [ebp - 0x48], eax
inc edi
mov dword [ebp - 0x14], 0xf2a6add3
mov dword [ebp - 0x10], 0x4518
mov dword [ebp - 0x28], 0xa91a76a4
mov dword [ebp - 0x14], ebx
jmp 0x1004edc2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xb5f7a0d7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004edb4
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004eddb
push 0x2e8
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x58]
mov eax, dword [edi + eax*4]
imul eax, edx
xor edx, edx
cmp dword [edi + ecx*4], eax
setle dl
sub edx, dword [edi + esi*4]
mov esi, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 7
cmp edx, dword [esi + 8]
mov edx, dword [ebp - 0x24]
setle cl
xor eax, eax
cmp ecx, dword [edi + edx*4]
setg al
xor edi, edi
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
inc edi
cmp dword [esi + 8], edi
setge cl
xor eax, eax
cmp ecx, 0x711f64db
setg al
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x1004ee58
mov esi, ebx
cmp dword [ebp - 0x4c], ebx
je 0x1004ee5a
mov esi, edi
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp eax, esi
mov eax, dword [ebp - 0x58]
setl cl
imul ecx, dword [eax + edx*4]
test ecx, ecx
jne 0x1004ee80
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, 0x8ef5
setne cl
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x58]
sub eax, 0xd0519924
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ecx + edx*4]
jg 0x1004ef07
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x10], ebx
jmp 0x1004eec4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1004eeb7
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x14]
cmp dword [ecx + 4], eax
setle dl
mov dword [ebp - 0x118], edx
test edx, edx
je 0x1004eef2
mov eax, dword [ebp - 0x30]
mov ecx, edi
cmp dword [ebp - 0x118], ebx
jne 0x1004eef4
mov ecx, ebx
xor eax, eax
cmp ecx, 0x40421a16
setle al
cmp eax, 7
sbb eax, eax
inc eax
jmp 0x1004ef6f
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x4c], 0xfffffffe
cmp dword [ebp - 0x30], ebx
je 0x1004ef2f
mov eax, 0x627f
mov edx, edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x1004ef31
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 0x9045
setle cl
lea eax, [ecx + 0x68fb0c4f]
add eax, edx
imul eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xaa0
setg cl
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1004ed9a
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x58]
call fcn.10016b4a
mov dword [ebp - 0x18], 0xb25b3b9d
mov dword [ebp - 0x24], 0xd018d303
mov dword [ebp - 0x24], 0x2d621ec2
mov dword [ebp - 0x48], 0xa9cea445
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
xor eax, eax
sub ecx, dword [ebp - 0x18]
cmp ecx, 0x8039
setne al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
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 ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004f01a
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
cmp dword [ebp - 0x40], 0
jne 0x1004f0e9
cmp byte [ebp - 0x39], 0
je 0x1004f039
cmp dword [ebp - 0x38], 1
jne 0x1004f039
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 8]
push edi
mov dword [ebp - 0x48], eax
call fcn.10051353
pop ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xc0]
lea eax, [ebp - 0xa4]
mov dword [ebp - 0xa4], ebx
push eax
push edi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
call fcn.1004fbc3
test edi, edi
mov ecx, ebx
mov edi, dword [ebp - 0xc0]
jle 0x1004f0ce
mov eax, ecx
and eax, 0x80000001
jns 0x1004f094
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x40]
add eax, ecx
add eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x48]
jmp 0x1004f0a9
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x20]
cmp word [edi + edx*2], bx
jne 0x1004f0a6
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov al, byte [edx + esi + 0xc]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx], al
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jl 0x1004f086
jmp 0x1004f0d1
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 4], eax
test edi, edi
je 0x1004f0ec
push edi
call fcn.100560d9
pop ecx
jmp 0x1004f0ec
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret