Function at 0x1004ee3a
Capabilities:
Set thread local storage value

Disassembly:
mov eax, 0x10074188
call fcn.10072ac8
sub esp, 0x17c
push ebx
push esi
push edi
xor esi, esi
mov byte [ebp - 0x31], dl
mov edi, ecx
inc esi
push esi
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x40], edi
call fcn.10020382
xor ebx, ebx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 0xda439beb
push 2
call fcn.10020382
mov dword [ebp - 0x14], ebx
jmp 0x1004ee91
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004ee82
mov dword [ebp - 0x14], ebx
jmp 0x1004eeae
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0xae77ab39
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004ee9b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1004eec9
push esi
push ebx
push 0x1907
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1004eef5
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
or dword [esi + 4], 0xffffffff
dec dword [ebp - 0x18]
jns 0x1004eed7
xor esi, esi
inc esi
lea ecx, [ebp - 0xe8]
call fcn.10020404
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.10020404
push 2
lea ecx, [ebp - 0xb8]
call fcn.10020382
mov dword [ebp - 0x24], 0x110e6b6c
mov dword [ebp - 0x14], ebx
jmp 0x1004ef3b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004ef28
mov dword [ebp - 0x14], ebx
jmp 0x1004ef57
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x154], 0x6ccb0362
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004ef46
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb8]
mov dword [eax + 4], esi
mov dword [ebp - 0x150], esi
dec dword [ebp - 0x24]
call fcn.10020404
mov dword [ebp - 0x14], 0xac204e2
mov dword [ebp - 0x38], 0x8bea
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x1c], ebx
jmp 0x1004efa5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x114], 0x6a6c65b0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004ef94
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1004efbf
push ebx
push 0x1b57
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
mov dword [ebp - 0x14], ebx
jmp 0x1004f067
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1004efe7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x148], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004efd6
cmp dword [ebp - 0x38], ebx
je 0x1004f04f
mov dword [ebp - 0x2c], 5
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], esi
je 0x1004f020
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004f022
mov eax, esi
cmp eax, dword [ebp - 0x18]
jl 0x1004f02e
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004f030
mov eax, esi
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
cmp eax, edx
mov edx, esi
setg cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0xae7b
jl 0x1004f051
mov edx, ebx
mov eax, dword [ebp - 0x140]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x114], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jle 0x1004efc7
mov dword [ebp - 0x1c], 5
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], 0x153413f0
mov dword [ebp - 0x2c], 0xc0e0752
push 2
call fcn.10020382
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x14], ebx
jmp 0x1004f0b5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004f0a2
mov dword [ebp - 0x14], ebx
jmp 0x1004f0d1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004f0c0
inc dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0x5671
setl cl
xor eax, eax
add ecx, 7
cmp eax, ecx
mov ecx, dword [ebp - 0x1c]
sbb eax, eax
neg eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x18]
je 0x1004f11a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc4]
setle cl
xor edx, edx
cmp ecx, 7
setg dl
xor ecx, ecx
test edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x18]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
mov dword [ebp - 0x28], edx
xor edx, edx
cmp dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x15c], ecx
lea ecx, [ebp - 0xc4]
call fcn.10020404
push dword [ebp + 8]
mov esi, dword [0x100798ac]
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 0x14], 8
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x30], 0xffffffff
lea ecx, [ebp - 0x60]
push eax
mov dword [ebp - 0x24], ebx
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x24], 0x2da3c3d
push ebx
mov dword [ebp - 0x38], esi
movdqu xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.100239f3
mov dword [ebp - 4], 1
lea eax, [ebp - 0x11c]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009360]
lea ecx, [ebp - 0x70]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x18], 0x7d17017a
push eax
mov dword [ebp - 0x1c], 0xfffffffb
push ebx
movdqu xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.100239f3
cmp dword [ebp - 0x14], ebx
je 0x1004f228
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
neg eax
je 0x1004f254
mov eax, dword [ebp - 0x60]
cmp dword [eax + 4], ebx
jne 0x1004f256
mov ecx, ebx
cmp dword [ebp - 0x14], 0x86f8c7b5
sbb eax, eax
inc eax
sub eax, ecx
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x14]
je 0x1004f26f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp dword [eax], ebx
setne cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x1004f30e
mov esi, dword [ebp - 0x60]
xor edi, edi
mov dword [ebp - 0x2c], 0xfffffffa
cmp dword [esi + 8], ebx
je 0x1004f2a5
lea eax, [edi + 1]
cmp dword [esi + 4], ebx
jne 0x1004f2a7
mov eax, ebx
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x44f8a3d3
mov eax, 0xd0615a03
setne cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, eax, 0xa72c
cmp eax, dword [esi + 4]
mov eax, dword [ebp - 0x60]
setg cl
cmp ecx, dword [eax + edx*4]
jne 0x1004f2dd
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x9f7c1ae2
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f303
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
dec dword [ebp - 0x18]
jns 0x1004f291
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x70]
call fcn.10020404
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.10020404
mov eax, dword [ebp + 8]
xor ecx, ecx
push 4
inc ecx
cmp byte [ebp - 0x31], 0
pop edx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
je 0x1004f3dd
cmp esi, ecx
jne 0x1004f3dd
mov dword [ebp - 0x28], 0xd444182b
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x24], ebx
push edx
mov dword [eax + 8], edx
call fcn.10020382
mov dword [ebp - 0x24], 0xdfcf09cc
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0xfb8ceffb
mov dword [ebp - 0x3c], 0x7911b9c6
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x1c], ebx
jmp 0x1004f39c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xa6b950ba
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004f389
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 1
setge cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xdc]
call fcn.10020404
mov eax, dword [ebp + 8]
xor ecx, ecx
inc ecx
mov dword [eax + 0xc], 0x100798ac
mov dword [ebp - 0x18], 0x3a473eb9
mov dword [ebp - 0x14], 0x9dade661
mov dword [ebp - 0x28], 0xe2fe
mov eax, dword [ebp - 0x18]
mov eax, ecx
cmp dword [ebp - 0x18], ebx
jne 0x1004f3fe
mov eax, ebx
imul ecx, eax, 0xfffa
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
imul eax, ecx, 0x76a
mov ecx, 0x59d568d5
sub ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
neg ecx
je 0x1004f4b6
push 3
lea ecx, [ebp - 0xa0]
call fcn.10020382
mov dword [ebp - 0x1c], ebx
jmp 0x1004f46e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004f45e
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1004f4a9
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f496
push ebx
push 0xe20
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
cmp dword [eax + ecx*4], ebx
jne 0x1004f4a9
dec dword [ebp - 0x14]
jns 0x1004f480
lea ecx, [ebp - 0xa0]
call fcn.10020404
jmp 0x1004f4cf
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f4cf
push 0x17d6
push 0xb22
call dword [sym.imp.GDI32.dll_SetMapMode]
cmp edi, esi
jge 0x1004fea7
mov dword [ebp - 0x20], 0x22124f84
mov esi, 0x100798b0
mov dword [ebp - 0x14], 0xbfc88eb9
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0xa224d52a
mov dword [ebp - 0x28], 0xa7b846fc
mov dword [ebp - 0x1c], ebx
jmp 0x1004f515
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x16c], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004f504
cmp dword [ebp - 0x20], ebx
jne 0x1004f524
mov edi, ebx
jmp 0x1004f527
xor edi, edi
inc edi
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, edi
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
jne 0x1004f6b2
cmp dword [ebp - 0x14], ebx
jne 0x1004f6b2
mov dword [ebp - 0x30], 0x3e8a
xor edi, edi
mov dword [ebp - 0x2c], 0x1ca8fd5f
inc edi
mov dword [ebp - 0x1c], edi
xor edx, edx
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
add eax, 0xcc21d2cf
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x1004f5b4
mov eax, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004f5b6
mov eax, edi
mov dword [ebp - 0x1c], eax
mov ecx, 0xd00955df
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff9
add ecx, eax
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, 0x2610
cmp dword [ebp - 0x18], ecx
jne 0x1004f611
mov dword [ebp - 0x18], ebx
jmp 0x1004f606
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x16c], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004f5f5
jmp 0x1004f78f
mov dword [ebp - 0x30], 0xd160806a
xor edx, edx
mov dword [ebp - 0x24], 0x870d1841
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
sub edx, 0xa107
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
imul ecx, ecx, 0x9a78
add ecx, 0x5d7f01c0
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, 0x2685
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
cmp eax, 0x1c926a5a
setl cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
add eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
jmp 0x1004f78f
mov dword [ebp - 0x30], 1
lea ecx, [ebp - 0x7c]
push 4
call fcn.10020382
mov dword [ebp - 0x1c], ebx
jmp 0x1004f6d8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0xdab6ac39
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004f6c8
mov dword [ebp - 0x14], ebx
jmp 0x1004f6f7
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f6f4
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff1
jge 0x1004f6e3
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x7c]
cmp dword [edi + 8], ebx
je 0x1004f724
cmp dword [ebp - 0x14], ebx
je 0x1004f724
xor ecx, ecx
inc ecx
jmp 0x1004f726
mov ecx, ebx
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, 0x90350d8a
setge dl
sub ecx, edx
cmp ecx, dword [eax]
jle 0x1004f748
cmp dword [ebp - 0x30], ebx
je 0x1004f748
xor edx, edx
inc edx
jmp 0x1004f74a
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edi, dword [edi + 8]
cmp eax, edx
setge cl
cmp ecx, edi
jl 0x1004f764
test edi, edi
jne 0x1004f764
mov edx, ebx
inc edi
jmp 0x1004f769
xor edi, edi
inc edi
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x30], ebx
je 0x1004f782
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x1004f784
mov eax, ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x20], eax
call fcn.10020404
cmp dword [ebp - 0x40], 0
jle 0x1004fb19
mov dword [ebp - 0x18], 0x8ecf
mov dword [ebp - 0x1c], ebx
jmp 0x1004f7b2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004f7a5
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0x1a9565e0
mov eax, dword [ebp - 0x18]
setge cl
sub eax, ecx
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f7f3
push 0x2608
call dword [sym.imp.GDI32.dll_GetBkColor]
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 0x20], ebx
push 3
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1004f81a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1004f810
mov dword [ebp - 0x14], ebx
jmp 0x1004f832
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 0x4055
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004f824
mov dword [ebp - 0x14], ebx
jmp 0x1004f84d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 0x583e3585
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1004f83c
mov dword [ebp - 0x20], ebx
jmp 0x1004f86a
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004f867
push ebx
call dword [sym.imp.USER32.dll_SetKeyboardState]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1004f857
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 2
jg 0x1004faad
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x2c], 0x29c84d8b
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x20]
add edx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x54]
cmp edx, eax
mov eax, dword [ebp - 0x4c]
sete cl
imul ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x54], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
cmp eax, 3
setle cl
cmp ecx, dword [ebp - 0x18]
jl 0x1004f8e5
mov eax, edi
cmp dword [ebp - 0x44], ebx
jne 0x1004f8e7
mov eax, ebx
mov dword [ebp - 0x14], eax
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
sub edx, eax
mov dword [ebp - 0x94], edx
jne 0x1004f90f
mov eax, dword [ebp - 0x20]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x54], ebx
je 0x1004f911
mov ecx, edi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
sete dl
add edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x44]
neg edx
mov eax, dword [ebp - 0x18]
sbb edx, edx
inc edx
imul ecx, edx
xor edx, edx
cmp ecx, eax
setg dl
add edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x18]
jne 0x1004fa5d
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1004f95e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x100], 0xd142575e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004f94d
mov dword [ebp - 0x28], 0x19ef
cmp dword [ebp - 0x28], 0x1a39
jle 0x1004f9d1
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov edi, ebx
add eax, esi
lea ecx, [ebp - 0x184]
or eax, edi
cdq
push edx
push eax
call fcn.1000a91f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004f999
mov eax, dword [eax]
push eax
call fcn.1005a68f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.10020b65
mov eax, dword [ebp - 0x30]
inc edi
cmp edi, 0x4220
jl 0x1004f97d
inc esi
cmp esi, 0x6a7b
jl 0x1004f97b
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0xc16
jl 0x1004f979
xor edi, edi
inc edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x44]
jg 0x1004f9f7
mov ecx, ebx
cmp dword [ebp - 0x90], ebx
je 0x1004f9f9
mov ecx, edi
xor eax, eax
cmp ecx, edi
setne al
add eax, dword [ebp - 0x14]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
lea eax, [eax*2 - 0x5726]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x28], 0x1876
jge 0x1004fa46
push 0x10009048
call fcn.1005a68f
pop ecx
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
mov dword [ebp - 0xf8], 0x6833
jmp 0x1004fa8c
mov dword [ebp - 0x28], 0x1fbecdb
mov dword [ebp - 0x14], 0x12
jmp 0x1004fa76
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jne 0x1004fa6d
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fa8c
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fa9d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1004f87d
mov esi, dword [ebp - 0x24]
mov edi, dword [esi]
mov dword [ebp - 0x28], 0xfffffffc
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fad9
push 0x16e8
push 0x115e
push 0x9cf
push 0xf42
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
mov byte [ebp - 0xd], bl
je 0x1004faf3
cmp byte [ebp - 0xd], 0
je 0x1004fb00
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
jmp 0x1004fb00
cmp byte [ebp - 0xd], 0
je 0x1004fb00
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
add esi, 4
test edi, edi
jne 0x1004fb0a
add esi, 8
add esi, dword [ebp - 0x3c]
dec dword [ebp - 0x40]
push 1
pop edi
jne 0x1004f799
mov edi, dword [esi]
mov dword [ebp - 0x20], 0xee76f502
mov dword [ebp - 0x3c], 0x3c3d2146
cmp dword [ebp - 0x20], ebx
je 0x1004fbc3
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jl 0x1004fbc3
push 1
lea ecx, [ebp - 0x10c]
call fcn.10020382
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1004fb71
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0xcc4b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1004fb5e
mov dword [ebp - 0x20], ebx
jmp 0x1004fb90
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fb8d
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1004fb7b
mov dword [ebp - 0x20], ebx
jmp 0x1004fbb6
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fbb3
push 0xe90
push 0x9f5
call dword [sym.imp.USER32.dll_GetDlgItem]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1004fb9a
lea ecx, [ebp - 0x10c]
jmp 0x1004fc10
push 3
lea ecx, [ebp - 0xf4]
call fcn.10020382
mov dword [ebp - 0x1c], ebx
jmp 0x1004fbe8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004fbd5
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor eax, eax
cmp eax, edx
mov eax, dword [ebp - 0xf4]
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
lea ecx, [ebp - 0xf4]
call fcn.10020404
mov eax, dword [esi + 4]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], 0x76eea530
mov dword [ebp - 0x14], 0x445acee6
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x40], 0xc1b6eab3
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1004fc53
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1004fc45
mov dword [ebp - 0x18], ebx
jmp 0x1004fcac
mov dword [ebp - 0x2c], 0x57bf
cmp dword [ebp - 0x2c], ebx
jne 0x1004fcb1
cmp dword [ebp - 0x18], ebx
jne 0x1004fc83
mov dword [ebp - 0x1c], 0x1d1
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x1c]
je 0x1004fc83
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1004fc5d
cmp dword [ebp - 0x14], ebx
je 0x1004fcec
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setle dl
add edx, dword [ebp - 0x40]
jne 0x1004fcd9
mov dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 0x28], ebx
jne 0x1004fcd9
mov ecx, ebx
inc edx
jmp 0x1004fcde
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [ebp - 0x14]
sub ecx, eax
cmp ecx, dword [ebp - 0x48]
jne 0x1004fcec
mov ecx, edx
jmp 0x1004fcf1
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, 8
setg al
sub eax, dword [ebp - 0x40]
je 0x1004fd03
cmp dword [ebp - 0x1c], ebx
jne 0x1004fd05
mov edx, ebx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
push 2
setl cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xac]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x18], 0xfffa
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], ebx
call fcn.10020382
mov dword [ebp - 0x1c], ebx
jmp 0x1004fd57
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x40c3f30
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004fd44
mov eax, dword [ebp - 0x18]
xor edx, edx
imul eax, dword [ebp - 0x18], 0xfaa3
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 9
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setg cl
imul edx, ecx, 0xfa81
xor ecx, ecx
sub edx, 6
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xac]
sub ecx, 0x185299da
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004fdd9
push ebx
push 0x1050
push ebx
push 0x1404
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
lea ecx, [ebp - 0xac]
call fcn.10020404
cmp dword [ebp - 0x3c], 0
jne 0x1004fea7
cmp byte [ebp - 0x31], 0
je 0x1004fe03
cmp dword [ebp - 0x38], 1
jne 0x1004fe03
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
call fcn.10055b8e
pop ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x88]
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], ebx
push eax
push edi
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call fcn.100542c3
mov esi, dword [ebp - 0x88]
mov ecx, ebx
test edi, edi
jle 0x1004fe91
mov eax, ecx
and eax, 0x80000001
jns 0x1004fe5b
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x3c]
add eax, ecx
add eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x28]
jmp 0x1004fe70
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x1004fe6d
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x24]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x38]
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1004fe4d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov dword [ecx], edi
mov dword [ecx + 4], eax
test esi, esi
je 0x1004fea7
push esi
call fcn.1005a7f7
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret