Function at 0x44d380
Capabilities:
Compare security identifiers
Query environment variable
Resolve function by parsing pe exports
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30c
push ebx
xor eax, eax
mov dword [esp + 0x14], 0xf9c2
push esi
mov dword [esp + 0x194], eax
push edi
mov dword [esp + 0x19c], eax
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
push 3
mov dword [esp + 0x38], edx
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x2c], 0xffffffff
push 2
mov dword [esp + 0x18], eax
pop edi
jmp 0x44d3ee
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x6c], 0xf2e5664d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x44d3de
mov dword [esp + 0x14], eax
jmp 0x44d40d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1d8]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x44d3fa
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], ecx
push 1
pop ebx
cmp dword [esp + 0x1c], eax
jne 0x44d463
cmp dword [esp + 0x70], eax
je 0x44d432
mov ecx, dword [esp + 0x70]
mov ecx, dword [esp + 0x1d8]
cmp dword [ecx + 8], eax
je 0x44d446
mov esi, ebx
cmp dword [esp + 0x70], eax
jne 0x44d448
mov esi, eax
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp esi, ecx
setg dl
cmp dword [esp + 0x70], edx
jge 0x44d45f
cmp dword [esp + 0x1c], eax
jne 0x44d463
mov edx, eax
jmp 0x44d465
mov edx, ebx
mov eax, dword [esp + 0x70]
xor ecx, ecx
cmp eax, edx
mov dword [esp + 0x1a0], eax
setge cl
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x1d8]
call fcn.00408170
push edi
lea ecx, [esp + 0x240]
call fcn.0040809e
push 3
lea ecx, [esp + 0x16c]
call fcn.0040809e
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x20], 0
jmp 0x44d4ca
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x168]
mov dword [eax + ecx*4], 0xffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x44d4b4
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], 0
push 0xfffffffffffffff7
pop edi
jl 0x44d60f
mov dword [esp + 0x14], 0x6ec79cf1
mov dword [esp + 0x104], 0xffffffff
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x10c], 0xffffffff
mov dword [esp + 0x110], 0xffffffff
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x168]
imul eax, dword [eax + ecx*4], 9
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x14], 0x19
cmp dword [esp + 0x14], 0x1b
jge 0x44d605
mov esi, dword [esp + 0x168]
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa6be30]
lea eax, [esp + 0x2cc]
and dword [esp + 0xd0], 0
lea ecx, [esp + 0xd0]
and dword [esp + 0xd4], 0
and dword [esp + 0xd8], 0
push eax
lea eax, [esp + 0x2c0]
push eax
push 0
movdqu xmmword [esp + 0x2c8], xmm0
call fcn.00408ca2
mov ecx, dword [esi + 4]
add ecx, dword [esi + 8]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x2c]
add eax, 0x78f1e0c8
add eax, ecx
xor ecx, ecx
cmp eax, dword [esi + 8]
mov eax, dword [esp + 0x10c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xcc]
sete dl
imul edx, dword [eax + 0xc]
cmp dword [esp + 0x18], edx
jne 0x44d5e1
cmp dword [esp + 0x18], 0
je 0x44d5e1
mov eax, ebx
jmp 0x44d5e3
xor eax, eax
mov dword [esp + 0x104], eax
lea ecx, [esp + 0xcc]
call fcn.00408170
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1b
jl 0x44d54f
dec dword [esp + 0x18]
jns 0x44d4e3
lea ecx, [esp + 0x168]
call fcn.00408170
mov dword [esp + 0x1c], 0
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x1c], 0x7a00
push 3
call fcn.0040809e
mov dword [esp + 0x30], 0x57b5bf2d
xor eax, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x44], eax
push 3
mov dword [esp + 0x3c], 0x5ec35211
mov dword [esp + 0x24], eax
pop ebx
jmp 0x44d676
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c0]
mov dword [ecx + edx*4], 0xc74aa0d7
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jl 0x44d660
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x44d6ac
push 0xe14
push eax
push 0x45b
push 0x14f6
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov esi, dword [esp + 0x1c0]
mov dword [esi], ecx
cmp dword [esi + 8], ecx
setne al
add eax, ecx
cmp eax, 0xfffb
mov eax, dword [esp + 0x28]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
imul ecx, dword [esi + 8]
test ecx, ecx
jne 0x44d6e3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
xor edx, edx
mov eax, dword [esp + 0x1c]
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x30]
setl cl
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x1c0]
call fcn.00408170
mov dword [esp + 0x38], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x14], 0
jmp 0x44d777
mov dword [esp + 0x20], 0xdb22124f
mov dword [esp + 0x20], 0xffffffea
jmp 0x44d76c
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xd
jg 0x44d760
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xe
jl 0x44d74e
mov dword [esp + 0x14], 0x48af
lea ecx, [esp + 0x254]
mov dword [esp + 0x28], 0xb8b78acc
mov dword [esp + 0x20], 0x642e40c1
push ebx
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], eax
jmp 0x44d7c6
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x254]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x44d7b3
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
xor ecx, ecx
sub edx, dword [esp + 0x14]
imul edx, dword [esp + 0x14]
push 2
pop esi
sub edx, 0xf628
cmp edx, 0x7e78
setl cl
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
mov ecx, dword [esp + 0x14]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, 0xfafd11d9
setg dl
sub ecx, edx
sub ecx, dword [esp + 0x20]
sub ecx, esi
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x14]
jne 0x44d82b
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], 0x2da3c3d2
cmp dword [esp + 0x28], eax
je 0x44d851
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x44d86e
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x44d86e
mov dword [esp + 0x20], eax
jmp 0x44d867
mov dword [esp + 0x2c], eax
mov dword [esp + 0x2c], 0xc5c6a3f1
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x14
jne 0x44d857
lea ecx, [esp + 0x254]
call fcn.00408170
mov dword [esp + 0x20], 0
jmp 0x44d89a
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x23c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x44d884
xor ebx, ebx
lea ecx, [esp + 0x270]
inc ebx
push ebx
call fcn.0040809e
mov dword [esp + 0x14], 0xfffffff6
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], 0x3a266d21
mov dword [esp + 0x18], 0x3bd65256
push 5
pop ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], 0xc173
mov dword [esp + 0x14], eax
jmp 0x44d8fd
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x270]
mov dword [ecx + edx*4], 0xa5d6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d8e7
mov dword [esp + 0x14], eax
jmp 0x44d91c
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x88], 0x1d14cd49
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x44d909
mov dword [esp + 0x14], eax
jmp 0x44d96b
mov dword [esp + 0x24], 0xede0b407
mov dword [esp + 0x24], eax
jmp 0x44d961
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], eax
jmp 0x44d957
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44d953
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor eax, eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], eax
jle 0x44d940
inc dword [esp + 0x24]
cmp dword [esp + 0x24], eax
jle 0x44d936
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x44d928
mov ecx, dword [esp + 0x30]
xor edx, edx
dec dword [esp + 0x30]
mov ecx, dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x18]
push 2
pop ebx
cmp ecx, ebx
mov ecx, dword [esp + 0x8c]
setl dl
add esi, edx
xor edx, edx
cmp esi, ecx
setne dl
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x3c], 0xfffffff8
je 0x44d9d6
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x270]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
call fcn.00408170
xor eax, eax
xor esi, esi
mov dword [esp + 0x1c], eax
inc esi
jmp 0x44e145
mov dword [esp + 0x14], 0x4a8c6a53
mov dword [esp + 0x14], eax
jmp 0x44dac5
mov dword [esp + 0x20], 0x2a1836cc
mov dword [esp + 0x24], eax
jmp 0x44da42
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x2f0], 0x4288a137
inc dword [esp + 0x24]
cmp dword [esp + 0x24], ebx
jl 0x44da2f
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44da5d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x44dabb
mov dword [esp + 0x24], eax
jmp 0x44da7c
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x200], 0xb283066c
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 4
jl 0x44da69
mov dword [esp + 0x20c], esi
cmp dword [esp + 0x20c], eax
jl 0x44dab7
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44daae
push 0x147f
call edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
xor eax, eax
dec dword [esp + 0x20c]
jns 0x44da93
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x44da63
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x12
jg 0x44da21
push esi
lea ecx, [esp + 0x1ac]
call fcn.0040809e
mov dword [esp + 0x20], 0xffffffff
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], 0xa9d01274
mov dword [esp + 0x14], eax
jmp 0x44db0f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1a8]
mov dword [ecx + edx*4], 0x2799
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x44daf9
mov dword [esp + 0x14], eax
jmp 0x44db2e
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x190], 0x2fa4ad74
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44db1b
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], eax
jl 0x44dc9b
push dword [esp + 0x60]
movdqa xmm0, xmmword [0xa6be90]
lea ecx, [esp + 0x2ac]
push ecx
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x40], 0xfffffff8
push ecx
mov dword [esp + 0x44], 0x14173bf3
lea ecx, [esp + 0x120]
mov dword [esp + 0x30], 0xa50b5f0b
push eax
movdqu xmmword [esp + 0x2a8], xmm0
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
call fcn.00408ca2
xor eax, eax
mov dword [esp + 0x2c], 0xbdf607db
mov dword [esp + 0x24], eax
jmp 0x44dbc0
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x9c], esi
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x44dbb1
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + esi*4]
inc dword [esp + 0x18]
cmp ecx, edx
jg 0x44dbe5
xor esi, esi
inc esi
jmp 0x44dbe7
mov esi, eax
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp esi, ecx
setle dl
imul ecx, edx, 0x6d56
test ecx, ecx
je 0x44dc20
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x44dc28
push 0x1b5
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Polygon]
xor eax, eax
jmp 0x44dc28
mov dword [esp + 0x24], 0xa4e63097
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], eax
jl 0x44dc7f
mov dword [esp + 0x14], 0xffffffff
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x190]
cmp dword [esp + 0x190], eax
jne 0x44dc72
cmp dword [esp + 0x14], eax
jne 0x44dc72
mov ecx, eax
jmp 0x44dc75
xor ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
dec dword [esp + 0x24]
jns 0x44dc32
lea ecx, [esp + 0x114]
call fcn.00408170
dec dword [esp + 0x20]
push 0
pop eax
push 1
pop esi
jns 0x44db42
lea ecx, [esp + 0x1a8]
call fcn.00408170
mov dword [esp + 0x38], 0x87f2fb5a
xor eax, eax
push 0xfffffffffffffffb
pop edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], 0xffff
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], eax
jmp 0x44dcda
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x64], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44dcce
mov dword [esp + 0x14], eax
jmp 0x44dcf9
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xc4], 5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x44dce6
cmp dword [esp + 0x18], eax
je 0x44dd2b
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x44ddc3
push 0x262e
push eax
push 0x14da
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor eax, eax
jmp 0x44ddc3
mov dword [esp + 0x2c], eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x44dd4c
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], esi
jg 0x44ddc3
mov ecx, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x64]
cmp ecx, 0xfffffff7
setle dl
sub edx, dword [esp + 0x2c]
je 0x44dd70
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov ecx, dword [esp + ecx*4 + 0x64]
mov ecx, dword [esp + 0x68]
add ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0x64]
mov ecx, dword [esp + 0x30]
cmp ecx, edx
mov ecx, dword [esp + 0x18]
setne bl
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x64]
cmp ecx, ebx
mov ecx, dword [esp + 0x18]
setle dl
imul edx, dword [esp + ecx*4 + 0x64]
mov dword [esp + 0xc4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x44dd56
push 2
pop ebx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44ddeb
push eax
push 0x23b3
push 0x1f47
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor eax, eax
mov dword [esp + 0x3c], 0xe4b7834d
mov dword [esp + 0x20], 4
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xfffffffb
je 0x44ded2
mov dword [esp + 0x30], 0x948b
mov dword [esp + 0x2c], esi
mov dword [esp + 0x44], 0xdc1094d0
mov dword [esp + 0x24], eax
jmp 0x44de43
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x2d8], 0xffffffff
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x44de30
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44de64
push 0x117f
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor eax, eax
cmp dword [esp + 0x14], eax
jne 0x44de78
cmp dword [esp + 0x30], eax
je 0x44de74
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov edx, esi
sub edx, ecx
je 0x44de86
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
xor ebx, ebx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
mov ecx, dword [esp + 0x14]
setne bl
xor edx, edx
sub ebx, 0x7b1b0cad
cmp ebx, ecx
setge dl
imul edx, dword [esp + 0x20]
lea ecx, [edx - 0x6a6cfc04]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x44], ecx
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffffb
jne 0x44de16
push 2
pop ebx
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x224]
push esi
call fcn.0040809e
mov dword [esp + 0x38], 0xc42206dd
xor eax, eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x38], ebx
mov dword [esp + 0x38], 0xc59458d8
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x44df25
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x224]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x44df13
mov dword [esp + 0x14], eax
jmp 0x44df40
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x284], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x44df31
mov dword [esp + 0x20], 0xc
jmp 0x44dfc4
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], 0xc3a0b8ee
mov dword [esp + 0x38], 0xafcb143e
mov dword [esp + 0x38], 0x9bf9f361
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], 5
mov dword [esp + 0x24], eax
jmp 0x44df9d
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x220], 0xdfba22e9
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x44df8a
dec dword [esp + 0x28]
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44dfc0
push eax
push 0x1f91
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
xor eax, eax
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xa
jl 0x44df50
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44dfe6
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
lea ecx, [esp + 0x224]
call fcn.00408170
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x44e00a
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x5c], 6
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x44dffa
mov dword [esp + 0x14], 0x91a049fe
mov ecx, 0x170cd509
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], ecx
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x14], 0xe
jmp 0x44e132
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xfffffff4
cmp dword [esp + 0x20], 0xfffffff6
jg 0x44e12e
mov ecx, 0x65653d42
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xe8], 3
cmp dword [esp + 0xe8], eax
jl 0x44e11f
push esi
lea ecx, [esp + 0x13c]
call fcn.0040809e
mov dword [esp + 0x24], 0
jmp 0x44e0c4
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x138]
and dword [eax + ecx*4], 0
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x44e0b1
mov eax, dword [esp + 0x138]
mov dword [eax], 3
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x44e0f8
push 0x10dc
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
mov eax, dword [esp + 0x138]
dec dword [eax]
jns 0x44e0d7
lea ecx, [esp + 0x138]
call fcn.00408170
dec dword [esp + 0xe8]
jns 0x44e09a
xor eax, eax
mov ecx, 0x65653d42
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff6
jle 0x44e066
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1d
jge 0x44e046
inc dword [esp + 0x3c]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x44da10
lea ecx, [esp + 0x23c]
call fcn.00408170
mov dword [esp + 0x18], 0xc692beaa
lea ecx, [esp + 0x230]
push esi
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x2c], 0x430688cd
mov dword [esp + 0x1c], eax
jmp 0x44e196
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x230]
mov dword [ecx + edx*4], 0xfffe
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x44e180
cmp dword [esp + 0x18], eax
je 0x44e241
push ebx
lea ecx, [esp + 0x160]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x44e1d1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + edx*4], 0x2d1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jl 0x44e1bb
mov ecx, dword [esp + 0x15c]
dec dword [ecx + 4]
mov dword [esp + 0x18], eax
jmp 0x44e229
mov dword [esp + 0x20], 0x46b6eb6b
mov dword [esp + 0x20], eax
jmp 0x44e20b
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + edx*4], 0xfffb
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jl 0x44e1f5
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44e225
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x18
jne 0x44e1e7
lea ecx, [esp + 0x15c]
call fcn.00408170
jmp 0x44e301
mov dword [esp + 0x30], 0x982b357f
mov dword [esp + 0x18], eax
jmp 0x44e2f7
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], eax
jmp 0x44e2c9
mov dword [esp + 0x28], 0xc00eadd5
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov ecx, dword [esp + 0x30]
setle bl
xor edx, edx
dec ebx
cmp ebx, ecx
setne dl
cmp edx, dword [esp + 0x30]
jne 0x44e2a5
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44e2c5
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor eax, eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x44e25c
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x44e2f3
push eax
push 0x5bc
push eax
push 0x19d9
push 0x91f
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], eax
jle 0x44e252
lea ecx, [esp + 0x230]
call fcn.00408170
push 6
pop ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], 0x5d16
mov dword [esp + 0x2c], 0x33563700
mov dword [esp + 0x38], esi
inc dword [esp + 0x30]
je 0x44e398
mov dword [esp + 0x1c], 0x717b
xor edx, edx
mov dword [esp + 0x3c], 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
cmp eax, ecx
setge dl
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
je 0x44e365
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x1c], 0
je 0x44e374
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x44e3bc
push 0x494
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x44e3bc
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x44e3bc
push 0x104e
push 0xbe3
push 0xf5f
call edi
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov dword [esp + 0x20], 0x57e8
mov dword [esp + 0x28], 0x9c710427
mov dword [esp + 0x30], 0xfffffff7
mov dword [esp + 0x28], 7
mov dword [esp + 0x28], 0xe283bc1b
mov dword [esp + 0x3c], 0xfffffff8
mov dword [esp + 0x2c], esi
cmp dword [esp + 0x20], 9
jne 0x44e450
mov eax, dword [esp + 0x20]
xor ecx, ecx
add eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x5a59
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
cmp eax, 0x574b
setl cl
sub ecx, dword [esp + 0x3c]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x3c]
jne 0x44e450
mov eax, esi
jmp 0x44e452
xor eax, eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x44e474
push 0
push 0x125e
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push dword [esp + 0x5c]
and dword [esp + 0x124], 0
lea eax, [esp + 0x2bc]
and dword [esp + 0x128], 0
lea ecx, [esp + 0x124]
and dword [esp + 0x12c], 0
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x2b0]
push eax
push 0
movdqu xmmword [esp + 0x2b8], xmm0
call fcn.00408ca2
mov dword [esp + 0x30], 0xd00585b7
mov dword [esp + 0x24], 0x9bacc5d9
mov dword [esp + 0x28], 0xf4326038
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 0xfffffff8
mov dword [esp + 0x1c], 0
jmp 0x44e4f8
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x74], 0xfff6
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x44e4e8
mov eax, dword [esp + 0x24]
xor edx, edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x24]
cmp eax, ecx
mov eax, dword [esp + 0x78]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add ecx, eax
mov eax, dword [esp + 0x78]
cmp ecx, 0xffff
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, 0x8e56
setle dl
sub eax, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x18], 0xcff0ea75
mov dword [esp + 0x18], 0
jmp 0x44e6bb
push esi
lea ecx, [esp + 0x80]
call fcn.0040809e
xor eax, eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], eax
jmp 0x44e5b8
cmp dword [esp + 0x18], 0xb
je 0x44e58b
push 3
pop ebx
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], 0
jl 0x44eb54