Function at 0x44ec2b
Capabilities:
Get common file path
Set thread local storage value
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ec
push ebx
push esi
push edi
xor edi, edi
mov byte [ebp - 0x3d], dl
inc edi
mov esi, ecx
mov dword [ebp - 0x14], edi
xor ebx, ebx
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 8], ebx
jmp 0x44ec85
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1dc], 0x4ac0198a
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44ec74
mov dword [ebp - 0x14], 0x18
jmp 0x44ed78
mov dword [ebp - 0x18], 0xfffd
mov dword [ebp - 0x1c], 0x7dcd66a0
mov dword [ebp - 0x24], 0x7207182b
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0x82aa9dad
mov dword [ebp - 0x2c], 0xc9fa8bc0
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], 0x1720d700
mov dword [ebp - 0x1c], 0xbae8b012
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x1c], 0xabac89d7
mov dword [ebp - 0x20], edi
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 8], ebx
jmp 0x44ed03
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x198], 0x377d6446
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44ecf2
mov eax, dword [ebp - 0x2c]
inc eax
jne 0x44ed12
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3c]
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x10]
jge 0x44ed52
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44ed75
push ebx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
jmp 0x44ed75
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x2c]
sub eax, 0x3ecb
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setle dl
mov dword [ebp - 0x2c], edx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jge 0x44ec97
mov dword [ebp - 0xc], 0x3fcb50bf
mov dword [ebp - 0x44], 2
mov dword [ebp - 8], 0x6e6c8cac
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x44edbb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x11c], 0xa8eac8b
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44edaa
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], 3
jg 0x44eedb
mov eax, 0x9729cf30
mov dword [ebp - 8], 0xf6b8f3d4
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 8], ebx
jmp 0x44ee0f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe4], 0xe5b14f4e
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44edfe
inc dword [ebp - 0xe0]
mov dword [ebp - 8], 3
cmp dword [ebp - 8], ebx
jl 0x44eec9
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x14], 0x878e
mov dword [ebp - 0x34], 0xbf5e
mov dword [ebp - 0x44], edi
cmp dword [ebp - 0x44], ebx
je 0x44ee76
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 0xc]
imul edx, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
cmp dword [ebp - 8], ecx
jg 0x44ee72
mov eax, dword [ebp - 0x114]
mov eax, edi
jmp 0x44ee78
mov eax, ebx
mov ecx, dword [ebp - 0x14]
imul ecx, eax
add ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x14]
cmp ecx, eax
mov eax, edi
cmove eax, ebx
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
dec edx
mov eax, dword [ebp + eax*4 - 0x11c]
cmp eax, edx
setge cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x114], 0x6a9cbde6
mov eax, dword [ebp - 8]
dec dword [ebp - 8]
jns 0x44ee2b
inc dword [ebp - 0xc]
mov eax, 0x9729cf30
cmp dword [ebp - 0xc], 3
jle 0x44edd3
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 8], ebx
jmp 0x44ef08
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44ef05
push ebx
push 0x1617
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffee
jle 0x44eee6
mov dword [ebp - 0x10], 0x6568
mov dword [ebp - 8], 0xb5725d36
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
je 0x44ef2d
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 eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x10]
sub eax, 0xfff6
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], 0xfffffff8
jmp 0x44ef7c
mov dword [ebp - 0x24], 1
mov dword [ebp - 8], 0x1b
jmp 0x44ef73
cmp dword [ebp - 0x24], ebx
jne 0x44ef79
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1d
jg 0x44ef6b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x2a
je 0x44ef5b
mov dword [ebp - 8], ebx
jmp 0x44ef98
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1b4], 0xfffffffd
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x44ef87
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44efb1
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44efc1
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov eax, dword [0x4a690c]
mov dword [ebp - 0x14], 0x19d29be1
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x3c], 0x22f50fad
mov dword [ebp - 0x44], eax
mov dword [ebp - 8], ebx
jmp 0x44eff1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], 0x6482
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44efe3
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 1
jg 0x44f287
xor esi, esi
inc esi
mov dword [ebp - 0x10], 0x4e6d4f28
mov dword [ebp - 0xc], 0x5e3d1aa1
mov dword [ebp - 0x28], 0x927db404
mov dword [ebp - 0x34], 0x85c7
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x44f0d8
mov dword [ebp - 0x24], 0xae9f
mov dword [ebp - 8], ebx
jmp 0x44f04c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcc], 4
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44f03b
mov dword [ebp - 0xc4], ebx
jmp 0x44f0c7
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
je 0x44f0ab
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x44f099
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
imul eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
add eax, 0xc4e2
je 0x44f095
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x44f099
mov edx, ebx
jmp 0x44f09b
mov edx, esi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0xe1054d81
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], esi
jle 0x44f05a
dec dword [ebp - 0x10]
jns 0x44f02f
mov dword [ebp - 0x10], ebx
jmp 0x44f0f4
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x44f0dd
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x44f278
mov dword [ebp - 8], 4
mov dword [ebp - 0x24], 0x64f81aa3
mov dword [ebp - 0x18], ebx
jmp 0x44f125
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44f118
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x44f26f
mov dword [ebp - 0x20], 0x3b5251bb
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
sub eax, 0xb999
je 0x44f16c
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
inc eax
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
test eax, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
neg eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 8
jae 0x44f1a9
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x10], ebx
je 0x44f1b8
mov ecx, esi
cmp dword [ebp - 8], ebx
jne 0x44f1ba
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
test eax, eax
je 0x44f1cb
mov ecx, esi
cmp dword [ebp - 0x48], ebx
jne 0x44f1cd
mov ecx, ebx
mov eax, dword [ebp - 8]
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0xb4]
setg dl
sub edx, eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp + eax*4 - 0x4c]
add esi, edx
sub esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, eax
setle cl
xor eax, eax
cmp ecx, 0x1eb7
setle al
cmp eax, dword [ebp - 0x28]
jg 0x44f21f
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
push 1
pop esi
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x10]
cmp eax, 0xcdf3
mov eax, dword [ebp - 0xb4]
setne dl
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x1051
setl al
mov dword [ebp - 0xb4], eax
dec dword [ebp - 0x18]
jns 0x44f137
dec dword [ebp - 0xc]
jns 0x44f105
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x44f007
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov ebx, dword [ebp + 8]
setge dl
mov dword [ebp - 0x18], edx
xor edx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x28], 0xfffffffa
mov byte [ebp - 1], dl
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
cmp byte [ebp - 1], dl
je 0x44f2d0
push 0x2121
push edx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x44f2de
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff7
je 0x44f2d5
cmp byte [ebp - 0x3d], 0
je 0x44f2fe
cmp dword [ebp - 0x44], 1
jne 0x44f2fe
mov dword [ebx + 8], 4
mov dword [ebx + 0xc], 0x4a690c
mov dword [ebp - 0x1c], 0xb13eca4f
mov dword [ebp - 0x1c], 0xfda0e60f
mov dword [ebp - 0x1c], 0xfffffffc
push 3
mov dword [ebp - 0x28], 0xb14f4e79
mov dword [ebp - 8], edx
pop ecx
jmp 0x44f32f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1cc], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44f322
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f354
push 0xaa7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
xor edx, edx
dec dword [ebp - 0x28]
cmp esi, dword [ebp - 0x44]
jge 0x4500ee
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x1c], 0x1551da62
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], edx
jmp 0x44f38d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1c0], 0x7633efc0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44f37c
mov dword [ebp - 0xc], edx
jmp 0x44f3a9
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf4], 9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44f398
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f3d0
push edx
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
xor ecx, ecx
xor edx, edx
inc ecx
inc dword [ebp - 0xf0]
mov ebx, 0x4a6910
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], edx
jmp 0x44f3f1
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x64], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x44f3e3
mov dword [ebp - 0xc], edx
jmp 0x44f40c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa8], 8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44f3fb
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], edx
jl 0x44f481
xor ebx, ebx
mov dword [ebp - 8], ebx
jmp 0x44f438
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1a8], 8
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44f427
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44f450
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0xa0]
cmp dword [ebp + eax*4 - 0x64], ebx
jne 0x44f46a
mov eax, dword [ebp - 0xa0]
cmp dword [ebp + eax*4 - 0x64], ebx
mov eax, ebx
je 0x44f46c
mov eax, ecx
mov dword [ebp - 0x1a4], eax
dec dword [ebp - 0xa0]
jns 0x44f422
mov ebx, 0x4a6910
xor edx, edx
mov dword [ebp - 0x2c], edx
test esi, esi
jle 0x44faed
xor esi, esi
inc esi
mov dword [ebp - 8], 0xf5a9
mov dword [ebp - 0xc], 0x3c891c55
mov dword [ebp - 0x10], 0x17f4039e
mov dword [ebp - 0x34], 0x120dd93b
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0xc5674fa7
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x3c], 0x7c242ea6
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], 0xbecc425f
mov dword [ebp - 0x28], 0xcc5119b5
mov dword [ebp - 0xc], edx
jmp 0x44f4ed
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9c], 0xad5befa1
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44f4dc
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], edx
je 0x44f528
mov eax, dword [ebp - 8]
xor edx, edx
cmp eax, 0xd14c
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 8], edx
jne 0x44f532
mov ecx, edx
cmp dword [ebp - 0x9c], edx
je 0x44f534
mov ecx, esi
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xc], edx
je 0x44f579
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0xf6f6
setle cl
imul ecx, dword [ebp - 0x10]
neg ecx
jne 0x44f579
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, dword [ebp - 0x20]
jg 0x44f59d
mov ecx, esi
cmp dword [ebp - 0x14], edx
jne 0x44f59f
mov ecx, edx
mov eax, dword [ebp - 0x3c]
dec dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
cmovl edx, esi
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x98]
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ebx, ebx
cmp edx, 0xfffd
setne bl
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0x1bf5
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x10], eax
je 0x44f605
mov eax, edx
cmp dword [ebp - 0x14], edx
je 0x44f607
mov eax, esi
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov edi, dword [ebx]
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x1c], 0x506e
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x1c], 0x693e93
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x34], 3
mov dword [ebp - 8], edx
jmp 0x44f647
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xac], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x44f636
cmp dword [ebp - 0x30], edx
je 0x44f6bd
mov dword [ebp - 0x1c], 0x94a1888
mov dword [ebp - 0x1c], 0xafd94fe5
mov dword [ebp - 0x1c], 0xd6923607
mov dword [ebp - 8], 0xa20a2982
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x34]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
jl 0x44f6d5
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f6aa
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0x27d
push 0xe1f
push 0x13cc
push 0x949
push 0
call dword [sym.imp.USER32.dll_TrackPopupMenu]
xor edx, edx
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0xac], edx
jne 0x44f6d5
dec dword [ebp - 8]
jns 0x44f67b
jmp 0x44f6d5
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f6d5
push 0x6cd
push edx
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
xor edx, edx
mov dword [ebp - 0x14], 0x97f6af11
add ebx, 4
mov dword [ebp - 8], 9
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 6
mov dword [ebp - 0x18], ebx
jl 0x44f79a
xor ebx, ebx
mov dword [ebp - 8], ebx
jmp 0x44f70e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x10c], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44f6fd
dec dword [ebp - 0x108]
mov dword [ebp - 8], 0xfffffff4
jmp 0x44f782
mov dword [ebp - 0xc], 0xfa72c25f
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x44f75a
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44f746
push ebx
push 0xb20
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44f755
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
dec dword [ebp - 0xc]
jns 0x44f732
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44f77f
push 0x1862
push 0x4ab
push 0xa08
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
call dword [sym.imp.USER32.dll_PeekMessageA]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x17
je 0x44f723
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
jge 0x44f6f8
mov ebx, dword [ebp - 0x18]
xor edx, edx
mov esi, dword [ebx]
mov eax, 0x25db
mov dword [ebp - 0x14], 0x22124f84
xor ecx, ecx
mov dword [ebp - 8], edx
inc ecx
mov dword [ebp - 0x1c], 0x7647f1a
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc], edx
jmp 0x44f7e0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x68], 0x158018d9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x44f7d2
mov dword [ebp - 0xc], edx
jmp 0x44f7fb
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xec], 0xcaa5d732
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44f7ea
cmp dword [ebp - 0x14], edx
jne 0x44f808
mov ecx, edx
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
jl 0x44f898
xor ecx, ecx
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x10], edx
inc ecx
jmp 0x44f838
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x154], 0x9978f3c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44f827
mov dword [ebp - 0x10], edx
jmp 0x44f84f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x188], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44f842
mov dword [ebp - 0x10], edx
jmp 0x44f86b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x168], 0x42760385
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44f85a
inc dword [ebp - 0xec]
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f8d9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
xor edx, edx
jmp 0x44f8d6
mov dword [ebp - 8], edx
mov dword [ebp - 0x20], 0xcfebdab6
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x68]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
xor ecx, ecx
inc ecx
mov dword [ebp - 8], edx
jmp 0x44f8ef
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xdc], 0x90ce
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44f8de
mov dword [ebp - 0x18], ecx
add ebx, 4
mov dword [ebp - 0xc], edx
jmp 0x44f90e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x70], 6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44f900
mov dword [ebp - 0xc], edx
jmp 0x44f926
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x150], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x44f919
cmp dword [ebp - 0x70], edx
je 0x44f9d8
mov dword [ebp - 0xc], 0x5ccc90a3
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xc], 0xfffffffd
jmp 0x44f9bb
mov dword [ebp - 0x20], 0xf02
mov dword [ebp - 0x34], 0xf44cacff
mov dword [ebp - 0x28], 4
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], edx
jne 0x44f96d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
neg edx
push 7
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
mov eax, 0x7e7308f4
setl cl
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x20]
inc dword [ebp - 0x20]
test ecx, ecx
je 0x44f9ad
cmp dword [ebp - 0xc], edx
je 0x44f9ad
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x44f9b2
xor ecx, ecx
mov eax, edx
inc ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x70]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff1
jle 0x44f947
mov dword [ebp - 0xc], edx
jmp 0x44f9d0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x70], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44f9c6
jmp 0x44fa1e
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44f9f4
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetMenu]
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x18], edx
jmp 0x44fa19
mov dword [ebp - 8], 0x63a5bed8
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], edx
jl 0x44fa16
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x70], edx
jne 0x44fa16
dec dword [ebp - 8]
jns 0x44fa08
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x44f9f9
test esi, esi
jne 0x44fa25
add ebx, 8
mov dword [ebp - 0xc], 0x74b1b055
xor esi, esi
mov dword [ebp - 0x20], 0xfeaf86f2
inc esi
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x30], 0x4951
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
add eax, 0xfffd
jne 0x44fa70
mov eax, edx
cmp dword [ebp - 0x20], edx
je 0x44fa72
mov eax, esi
xor edx, edx
cmp eax, 0x76038591
setl dl
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
inc ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0x4caa5d73
setl al
cmp eax, dword [ebp - 0xc]
jne 0x44fab2
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0x24], eax
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x44fad0
push 0x831
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
xor edx, edx
mov eax, dword [ebp - 0x2c]
add ebx, edi
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], eax
cmp eax, dword [ebp - 0x38]
jl 0x44f48f
mov edi, dword [sym.imp.USER32.dll_GetDC]
jmp 0x44faf0
xor esi, esi
inc esi
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0xc], edx
jmp 0x44fb0a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44fafc
mov dword [ebp - 0xc], edx
jmp 0x44fb23
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], 0x74e8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x44fb15
mov dword [ebp - 0x54], 0xffffffe2
jmp 0x44fb50
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44fb4d
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetClipBox]
xor edx, edx
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xfffffff1
jge 0x44fb31
mov eax, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
inc eax
cmp eax, 0x4e5878ed
setle dl
xor ecx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
cmp edx, eax
sete cl
neg ecx
je 0x44fc14
xor ecx, ecx
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], ecx
mov dword [ebp - 8], ecx
jmp 0x44fbb0
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x60], 0xad21dd8e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x44fba2
mov byte [ebp - 1], cl
cmp byte [ebp - 1], cl
je 0x44fbd2
push 0x2408
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
xor eax, eax
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
jmp 0x44fc29
xor edx, edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x44fc2b
push 0xbb3
call dword [sym.imp.USER32.dll_GetSysColor]
xor edx, edx
mov edi, dword [ebx]
mov dword [ebp - 0xc], 0x477862f
push 7
mov dword [ebp - 0x20], 0x6335c0de
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0xc], edx
jmp 0x44fd09
mov dword [ebp - 8], 0xba09
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 8]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0xc], edx
je 0x44fc89
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
sete cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xc]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
je 0x44fcc4
mov eax, esi
cmp dword [ebp - 0x20], edx
jne 0x44fcc6
mov eax, edx
cmp dword [ebp - 8], eax
jge 0x44fcce
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov ecx, 0x6d490438
sub ecx, eax
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
jne 0x44fce7
mov eax, edx
cmp dword [ebp - 0x20], edx
je 0x44fce9
mov eax, esi
mov dword [ebp - 0x30], eax
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x44fd03
push 0x23dd
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor edx, edx
inc dword [ebp - 0xc]
push 7
pop eax
cmp dword [ebp - 0xc], 0x1a
jne 0x44fc50
mov dword [ebp - 8], 0xd23b6182
add ebx, 4
mov dword [ebp - 0x30], 0x84cb8f6c
mov dword [ebp - 0x1c], 0xebc5f93b
mov dword [ebp - 0x24], 0x23917005
mov dword [ebp - 0x24], 0x276463a4
mov dword [ebp - 0x34], 0xbbe0e206
mov dword [ebp - 0x38], 0xfffc
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], edx
jmp 0x44fd60
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x160], 0x934b0b4e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44fd4f
mov dword [ebp - 0xc], edx
jmp 0x44fd7c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xbc], 2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x44fd6b
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
sub eax, 0x38ec
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 8]
test eax, eax
je 0x44feb3
mov dword [ebp - 0x24], 0xa7b7e80d
mov dword [ebp - 0x24], 9
mov dword [ebp - 0xc], 0x7770b168
mov dword [ebp - 0x3c], 0xa4129b85
mov dword [ebp - 0x24], 0xc8af9534
mov dword [ebp - 0x24], 0x30477ae2
mov dword [ebp - 0x10], 0x82f4e55b
mov dword [ebp - 0x24], 0x5a7ab5bf
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 0xce7aebb1
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0x3a81f6ed
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xfe96f77d
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0x6dae1dc6
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x28], 0xcf5e
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], edx
jmp 0x44fe54
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x178], 0xed5ebae8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x44fe43
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x30], eax
jle 0x44fe68
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x20]
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1c], eax
jge 0x44fea2
cmp dword [ebp - 0xbc], edx
je 0x44fea4
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x14], ecx
jmp 0x44fed3
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x44fed5
push edx
push 0x1839
push edx
push 0x306
push 0x1d1a
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor edx, edx
mov esi, dword [ebx]
mov dword [ebp - 0xc], edx
jmp 0x44feed
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1ec], 0x9b55
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x44fedc
mov dword [ebp - 0xc], edx
jmp 0x44ff09
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x12c], 0x32fe2236
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x44fef8
mov dword [ebp - 0x124], 3
cmp dword [ebp - 0x124], edx
jl 0x44ffab
xor ebx, ebx
mov dword [ebp - 8], ebx
jmp 0x44ff3d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x84], 0x7be18795
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44ff2c
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44ff71
push 0x1765
push ebx
push ebx
push 0x1527
push 0x7b1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
mov dword [ebp - 0x80], 3
cmp dword [ebp - 0x80], ebx
jl 0x44ff9e
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x44ff99
push 0x9be
push ebx
push ebx
push ebx
push 0xdbb
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
dec dword [ebp - 0x80]
jns 0x44ff7d
dec dword [ebp - 0x124]
jns 0x44ff27
mov ebx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov eax, 0xdad816f9
mov dword [ebp - 0x30], 0x94964a53
mov dword [ebp - 0x30], 0x4822b16
mov dword [ebp - 0x30], 0x3b7beded
mov dword [ebp - 0x30], 0xc657e3b6
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 8], edx
jmp 0x44fffd
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x180], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44ffec
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0xfc]
test esi, esi
jne 0x4500e5
cmp byte [ebp - 0x3d], 0
je 0x45002c
cmp dword [ebp - 0x44], 1
jne 0x45002c
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 8]
add ebx, 0xc
push edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ebx
call fcn.0048d9d3
mov ebx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xb0]
push eax
push edi
mov dword [ebp - 0x24], ebx
call fcn.00474a73
mov esi, dword [ebp - 0x7c]
xor edx, edx
mov ecx, edx
test edi, edi
jle 0x4500c7
mov eax, ecx
and eax, 0x80000001
jns 0x450084
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x1c]
add eax, ecx
add eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x30]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x4500b0
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x4500a1
mov ebx, dword [ebp - 0x24]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edi
jl 0x450076
xor edx, edx
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
test esi, esi
je 0x4500ea
push esi
call fcn.0048e586
xor edx, edx
pop ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov ebx, dword [ebp + 8]
jmp 0x4500f0
mov ebx, eax
jmp 0x4500f0
xor edx, edx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 8], edx
jmp 0x450114
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x94], 0xa8eac8b
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x450103
push 3
pop esi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], edx
jl 0x450180
xor ebx, ebx
inc ebx
mov dword [ebp - 8], 0x7dd68876
mov dword [ebp - 8], edx
jmp 0x450141
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x190], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x450134
mov dword [ebp - 8], edx
jmp 0x450173
mov dword [ebp - 0x38], 0xd297
dec dword [ebp - 0x38]
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x450170
push ebx
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
xor edx, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x45014c
dec dword [ebp - 0x10]
jns 0x450128
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], edx
jl 0x450238
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], 0x8648
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x2c], 0xfffffffd
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x94]
cmp dword [ebp - 0x10], edx
jne 0x4501f8
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x94], 0xa4d9a54e
jb 0x4501cd
mov eax, edx
cmp dword [ebp - 0x90], edx
je 0x4501cf
mov eax, ebx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
je 0x4501da
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x10]
xor edx, edx
push 0
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x94]
cmp ecx, ebx
sete dl
mov dword [ebp - 0x1c], edx
dec dword [ebp - 0x10]
pop edx
jns 0x45018f
mov ebx, dword [ebp + 8]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret