Function at 0x10045266
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x100605e0
call fcn.1005f250
sub esp, 0x29c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x5c], ecx
push 2
mov dword [ebp - 0x14], 0x68ec0ae9
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x14], 3
pop esi
cmp dword [ebp - 0x14], 0xa
jne 0x100452ea
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x1c], ebx
jmp 0x100452b8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x210], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100452a7
inc dword [ebp - 0x34]
mov dword [ebp - 0x34], ebx
jmp 0x100452e0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100452dd
push ebx
push ebx
push 0x25f2
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x100452c6
inc dword [ebp - 0x14]
jmp 0x10045295
mov dword [ebp - 0x14], 0x13
jmp 0x100452fb
cmp dword [ebp - 0x14], ebx
jne 0x10045301
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x14
jle 0x100452f3
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x3c], 0x4c3b
cmp dword [ebp - 0x3c], 0x4d38
jle 0x1004536e
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
xor eax, edi
mov ecx, 0x10607df8
xor eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1002c3bf
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x39a8
jl 0x10045327
inc edi
push 0
pop ebx
cmp edi, 0x432
jl 0x1004531f
inc esi
cmp esi, 0x554
jl 0x1004531d
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x4a13
jl 0x1004531b
push 2
pop esi
mov dword [ebp - 0x1c], 0xdedb5cab
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x3c], 0x48bc
jge 0x10045390
mov edx, 0x1000b8fc
mov ecx, 0x10607df8
call fcn.1002de69
or dword [ebp - 4], 0xffffffff
xor edi, edi
mov dword [ebp - 0x30], 0x6f62939c
inc edi
lea ecx, [ebp - 0x124]
push edi
call fcn.1002c4d4
push esi
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], esi
call fcn.1002c4d4
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], ebx
jmp 0x100453fa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100453e7
mov dword [ebp - 0x14], ebx
jmp 0x10045417
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x68169b2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10045404
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10045431
push ebx
push 0x1b5a
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x24], 7
jmp 0x10045601
mov dword [ebp - 0x28], 0x13ec752f
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x20], 0xab6d
push 4
call fcn.1002c4d4
mov dword [ebp - 0x14], ebx
jmp 0x1004546b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0xdca8fecf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004545d
mov dword [ebp - 0x14], ebx
jmp 0x10045488
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0x8cdb5cf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10045475
cmp dword [ebp - 0x24], ebx
jne 0x1004549d
mov eax, dword [ebp - 0x28]
mov edx, ebx
cmp eax, dword [ebp - 0x28]
je 0x1004549f
mov edx, edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x1c]
add eax, ecx
cmp eax, dword [ebp - 0x1c]
jge 0x100454bd
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x100454bf
mov edx, edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x20]
jne 0x1004550b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100455f3
push 0x11eb
push ebx
push 0x7ee
push 0xf83
push 0x1be2
push ebx
push 0xf9b
push 0x16bd
push 0x12c
call dword [sym.imp.USER32.dll_DrawIconEx]
jmp 0x100455f3
mov dword [ebp - 0x34], 0x95520f30
mov dword [ebp - 0x30], 0xb87c2657
mov dword [ebp - 0x30], 0x1153aa9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10045530
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x30]
jle 0x1004557a
mov ecx, dword [ebp - 0x34]
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, 0x3523
setge cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x124]
neg edx
sbb edx, edx
inc edx
imul edx, dword [eax]
mov eax, edi
test edx, edx
jne 0x1004557c
mov eax, ebx
mov dword [ebp - 0x30], eax
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
xor edx, edx
inc eax
imul eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x160]
setle dl
xor ecx, ecx
cmp edx, dword [eax + 0xc]
setle cl
imul eax, ecx, 0x585c
test eax, eax
jne 0x100455e6
mov ecx, ebx
cmp dword [ebp - 0x30], ebx
je 0x100455e8
mov ecx, edi
mov eax, dword [ebp - 0x148]
neg ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x160]
call fcn.1002c556
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jl 0x1004543d
lea ecx, [ebp - 0x148]
call fcn.1002c556
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x124]
call fcn.1002c556
mov eax, dword [0x10608fe0]
test al, 1
jne 0x100456bc
or eax, edi
mov dword [0x10608fe0], eax
push ebx
mov dword [ebp - 4], 4
push ebx
mov dword [0x10609010], ebx
mov dword [0x10609014], ebx
call fcn.10033807
mov dword [0x10609010], eax
mov dword [0x10609018], ebx
mov dword [0x10609020], ebx
mov byte [ebp - 4], 6
mov ecx, 0x10609018
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xec]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x190]
mov dword [0x1060902c], 0x3f800000
push eax
mov dword [0x1060901c], ebx
call fcn.100335ab
push 0x100607ef
mov dword [0x10609024], 7
mov dword [0x10609028], 8
call fcn.10049f5c
or dword [ebp - 4], 0xffffffff
pop ecx
imul eax, dword [ebp - 0x5c], 0x2710
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x3c], 0x1d02
cmp dword [ebp - 0x3c], 0x2079
jle 0x10045747
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
and eax, esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x40], eax
mov esi, ebx
or eax, esi
lea ecx, [ebp - 0x240]
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10045707
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x240]
call fcn.1002c860
mov eax, dword [ebp - 0x40]
inc esi
cmp esi, 0x349f
jl 0x100456ed
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x21d9
jl 0x100456e3
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x16f0
jl 0x100456de
push 2
pop esi
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x3c], 0x1cb6
jge 0x1004575e
push 0x1000b958
call fcn.10049f86
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0x61ece305
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0x7fe8
cmp dword [ebp - 0x30], 0x8141
jle 0x100457ad
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10607df8
and eax, edi
cdq
push edx
push eax
call fcn.1002c3bf
inc esi
cmp esi, 0x7f12
jl 0x10045784
inc edi
cmp edi, 0x7d9c
jl 0x10045782
xor edi, edi
push 2
inc edi
pop esi
mov dword [ebp - 0x3c], 0x431fadac
mov dword [ebp - 4], 9
cmp dword [ebp - 0x30], 0x7cc7
jge 0x100457d3
mov edx, 0x1000b9b8
mov ecx, 0x10607df8
call fcn.1002de69
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x44], 0x542afa01
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], 0xfffffffa
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10045801
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
add ecx, 0xfffb
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setge cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x2c]
lea eax, [ebp - 0x60]
push eax
setl cl
mov dword [ebp - 0x40], ecx
call fcn.10047102
mov eax, dword [eax]
mov dword [ebp - 0x1c], 0x4320e32c
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x3c], 0x5bef
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ebx
jmp 0x100458f5
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1cc], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x100458e4
mov eax, dword [ebp - 0x1c]
neg eax
je 0x10045914
cmp dword [ebp - 0x1c], ebx
jne 0x1004590a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x10045916
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, 0xd8da8e97
mov eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
neg eax
cmp ecx, eax
sbb eax, eax
neg eax
add eax, 0x53b1dab5
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10045a55
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000bcf0]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0xa0], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call fcn.1002e388
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x20], 0x4cf59275
push esi
call fcn.1002c4d4
mov dword [ebp - 0x30], 0xe7071658
mov dword [ebp - 0x30], 0x2b56095d
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x34], ebx
jmp 0x100459e9
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x100459d9
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov dword [ecx], eax
test eax, eax
jne 0x10045a0f
cmp dword [ecx + 4], ebx
jne 0x10045a0f
mov edi, ebx
mov dword [ebp - 0x30], edi
cmp dword [ecx + 4], ebx
je 0x10045a25
mov eax, dword [edx]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
sub esi, eax
mov eax, dword [ebp - 0xc4]
mov dword [eax], esi
call fcn.1002c556
lea ecx, [ebp - 0xa0]
call fcn.1002c556
jmp 0x1004706e
mov eax, dword [0x10608fe0]
test al, 2
jne 0x10045aec
or eax, esi
mov dword [0x10608fe0], eax
push ebx
mov dword [ebp - 4], 0xc
push ebx
mov dword [0x10608ff0], ebx
mov dword [0x10608ff4], ebx
call fcn.10033807
mov dword [0x10608ff0], eax
mov dword [0x10608ff8], ebx
mov dword [0x10609000], ebx
mov byte [ebp - 4], 0xe
mov ecx, 0x10608ff8
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xf0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x178]
mov dword [0x1060900c], 0x3f800000
push eax
mov dword [0x10608ffc], ebx
call fcn.100335ab
push 0x100607ea
mov dword [0x10609004], 7
mov dword [0x10609008], 8
call fcn.10049f5c
or dword [ebp - 4], 0xffffffff
pop ecx
mov dword [ebp - 0x14], 0x136951ad
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x3c], 7
push esi
call fcn.1002c4d4
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x44], 0xfbf646d9
mov dword [ebp - 0x24], ebx
jmp 0x10045b2d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xdc], 9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10045b1c
mov dword [ebp - 0x24], ebx
jmp 0x10045b4b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xfadacd7d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10045b38
mov dword [ebp - 0x24], ebx
jmp 0x10045b66
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x17c], 0x2071694a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10045b55
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setge cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp dword [ebp - 0x2c], eax
setl cl
xor eax, eax
cmp ecx, 0x53061ece
setle al
cmp eax, 7
jne 0x10045bad
mov edx, edi
cmp dword [ebp - 0x14], ebx
jne 0x10045baf
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x13c]
setl cl
mov dword [eax + 4], ecx
cmp dword [ebp - 0xd8], ebx
je 0x10045be2
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x20]
sub eax, 0x3cc9d6c8
je 0x10045c63
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0x83200138
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 0x3c], ebx
jne 0x10045c1c
mov eax, dword [ebp - 0x34]
neg eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setne dl
or ecx, 0xffffffff
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x34]
jne 0x10045c4f
mov ecx, ebx
cmp dword [ebp - 0x34], ebx
je 0x10045c51
mov ecx, edi
mov eax, dword [ebp - 0x34]
imul eax, ecx
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x10045c91
mov dword [ebp - 0x38], 0xfffffffc
inc dword [ebp - 0x44]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10045c91
push 0x508
push 0x1553
push 0x13a9
push 0x79b
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
lea ecx, [ebp - 0x13c]
call fcn.1002c556
lea eax, [ebp - 0x5c]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0x94], xmm0
call fcn.10047164
push esi
lea ecx, [ebp - 0x154]
mov eax, dword [eax]
mov dword [ebp - 0x3c], 0x606de713
mov dword [ebp - 0x34], eax
call fcn.1002c4d4
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x2c], 0xc7dc
mov dword [ebp - 0x14], 0x3dc0e3e7
mov dword [ebp - 0x40], 0x661fbc9f
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x20], 0x62a04f77
mov dword [ebp - 0x24], 0x492c
cmp dword [ebp - 0x24], 0x4b03
jle 0x10045d81
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, eax
mov dword [ebp - 0x44], 0x7ca8
mov dword [ebp - 0x28], ecx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
cdq
idiv esi
or edx, ecx
lea ecx, [ebp - 0x1ec]
mov eax, edx
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10045d39
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1ec]
call fcn.1002c860
mov eax, dword [ebp - 0x20]
inc esi
mov ecx, dword [ebp - 0x28]
cmp esi, 0x7585
jl 0x10045d1a
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x2341
jl 0x10045d18
dec ecx
dec dword [ebp - 0x44]
mov dword [ebp - 0x28], ecx
jne 0x10045d13
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x62d
jl 0x10045d07
push 2
pop esi
mov dword [ebp - 0x20], 0xbd29
cmp dword [ebp - 0x24], 0x487a
jge 0x10045d9c
push 0x1000ba2c
call fcn.10049f86
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10045db0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10045da1
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x3c], 0x6d6dbc1c
je 0x10045dd5
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x154]
mov dword [eax], ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x14]
jle 0x10045de6
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
lea ecx, [ebp - 0x154]
setne dl
mov dword [ebp - 0x20], edx
or dword [ebp - 4], 0xffffffff
call fcn.1002c556
cmp byte [ebp + 0xc], 0
jne 0x10045e19
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x10046284
mov dword [ebp - 0x40], 0x3111738a
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x2c], ebx
push 3
call fcn.1002c4d4
push 3
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10045e49
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1bc], 0xc71bc7dc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10045e38
mov dword [ebp - 0x14], ebx
jmp 0x10045e62
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10045e53
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xb606
setle cl
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
lea ecx, [ebp - 0x118]
imul eax, eax, 3
sub eax, 0xcd45
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x118]
mov dword [eax], 0x182b4745
call fcn.1002c556
mov dword [ebp - 0x40], 0x6e4a
cmp dword [ebp - 0x40], 0x71aa
jle 0x10045ee1
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x10607df8
cdq
push edx
push eax
call fcn.1002c3bf
inc edi
cmp edi, 0x4249
jl 0x10045ebf
inc esi
cmp esi, 0x5f61
jl 0x10045ebd
mov dl, byte [ebp + 0xc]
lea eax, [ebp - 0x298]
mov ecx, dword [ebp - 0x5c]
push eax
call fcn.1003b393
mov esi, eax
lea edi, [ebp - 0x94]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x40], 0x6de7
jge 0x10045f3d
mov edx, 0x1000ba70
mov ecx, 0x10607df8
call fcn.1002de69
jmp 0x10045f3d
or dword [ebp - 4], 0xffffffff
xor edi, edi
mov dword [ebp - 0x38], 0xc05baf43
inc edi
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x28], 0x7f18
cmp dword [ebp - 0x28], 0x80da
push 2
pop esi
jle 0x10045fea
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov esi, ecx
mov edx, ebx
mov ecx, eax
mov dword [ebp - 0x20], edx
shl esi, cl
mov dword [ebp - 0x2c], esi
mov esi, ebx
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x204]
and eax, esi
and eax, edx
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10045f9e
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x204]
call fcn.1002c860
mov edx, dword [ebp - 0x20]
inc esi
cmp esi, 0x923
jl 0x10045f7f
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0x47f
jl 0x10045f7d
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x1193
jl 0x10045f6f
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x360b
jl 0x10045f6a
push 2
pop esi
cmp byte [ebp - 0x15], 0
je 0x10045ff7
push edi
call dword [sym.imp.USER32.dll_ShowCursor]
cmp dword [ebp - 0x28], 0x7d61
jge 0x1004600b
push 0x1000bad4
call fcn.10049f86
pop ecx
or dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004604b
push 0xc32
push 0x118a
push 0x9cd
push 0x231d
push 0x2318
push 0x288
push 0x1d9e
push 0x2f1
push 0x1d32
call dword [sym.imp.GDI32.dll_Arc]
cmp byte [ebp + 0xc], 0
je 0x10046284
cmp dword [ebp - 0x8c], 0
je 0x10046284
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x14], 0xa0b8ee41
mov dword [ebp - 0x24], 0x5aad8530
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x3c], 0xb5a26cde
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0xab72
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], 0xcdab0b82
mov dword [ebp - 0x54], 0xfffffff9
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jne 0x10046187
mov dword [ebp - 0x24], 0xf6872920
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 0xfffffffd
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x14]
jl 0x100460e5
mov eax, edi
cmp dword [ebp - 0x44], ebx
jne 0x100460e7
mov eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl cl
mov dword [ebp - 0x40], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x40]
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xb25
mov eax, dword [ebp - 0x3c]
setne cl
xor edx, edx
sub ecx, 8
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
add edx, 0x494f
neg edx
sbb edx, edx
neg edx
sub edx, eax
mov dword [ebp - 0x28], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x3c]
jge 0x10046180
cmp dword [ebp - 0x28], ebx
je 0x10046180
cmp dword [ebp - 0x20], ebx
je 0x10046180
cmp dword [ebp - 0x24], ebx
jne 0x10046187
mov eax, edi
cmp dword [ebp - 0x24], ebx
je 0x10046189
mov eax, ebx
neg eax
jne 0x10046194
mov eax, ebx
cmp dword [ebp - 0x44], ebx
je 0x10046196
mov eax, edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1004626e
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x50551b70
mov dword [ebp - 0x14], ebx
jmp 0x100461c4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x100], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100461b7
mov dword [ebp - 0x14], 0xc
jmp 0x10046223
mov dword [ebp - 0x40], 0xfffffff6
mov ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setg dl
add edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf8]
neg edx
mov eax, dword [ebp - 0xf8]
sbb edx, edx
neg edx
sub ecx, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setg dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x3c
jge 0x100461d3
mov eax, dword [ebp - 0x2c]
mov edx, ebx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xf8], ebx
je 0x10046253
mov edx, edi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xbd9b76f
setge al
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
jge 0x100461a1
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], 0xe53e58bf
mov dword [ebp - 0x2c], 0xd2703d9b
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x38], 0x66c4
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100462b7
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
mov ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
setl al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x7d0b0a35
setge al
cmp eax, 0xca420452
mov eax, dword [ebp - 0x40]
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setge cl
cmp dword [ebp - 0x2c], ecx
jl 0x10046306
mov ecx, edi
cmp dword [ebp - 0x20], ebx
jne 0x10046308
mov ecx, ebx
xor eax, eax
cmp ecx, 0xb288
setl al
add eax, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x20], eax
jne 0x1004679c
cmp dword [ebp - 0x94], 0
jle 0x1004679c
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], 0xb25b3b9d
mov dword [ebp - 0x38], 0xff82ff40
mov dword [ebp - 0x38], 0xa7275995
mov dword [ebp - 0x38], 0xbd2ab60e
push 4
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], 0x5e1f6f08
mov dword [ebp - 0x38], 0x1a9c2132
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0x257ea0d0
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], 0xf88039d6
mov dword [ebp - 0x38], 0x21ec2184
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
jmp 0x100463ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d4], 0x81eca6c8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004639b
mov dword [ebp - 0x14], ebx
jmp 0x100463c7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2a8], 0x83a0f0f5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100463b6
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x16c]
push edi
call fcn.1002c4d4
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x28], ebx
jmp 0x10046401
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], 0xa439beb0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100463ee
mov eax, dword [ebp - 0x16c]
mov dword [eax], 0x8bbca631
mov dword [ebp - 0x20], 0x18
cmp dword [ebp - 0x20], 0xfffffff3
jne 0x100464e9
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x40], 0x2fa6
cmp dword [ebp - 0x40], 0x303d
jle 0x100464ba
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
cdq
mov esi, ebx
idiv ecx
mov eax, edx
mov dword [ebp - 0x38], eax
xor eax, esi
lea ecx, [ebp - 0x228]
xor eax, dword [ebp - 0x28]
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004646e
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x228]
call fcn.1002c860
mov eax, dword [ebp - 0x38]
inc esi
cmp esi, 0x78f9
jl 0x10046451
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x6ee4
jl 0x10046447
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x51e4
jl 0x10046442
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x961
jl 0x1004643d
cmp byte [ebp - 0x15], 0
je 0x100464c6
call dword [sym.imp.USER32.dll_GetMessageTime]
cmp dword [ebp - 0x40], 0x2e71
jge 0x100464da
push 0x1000bb14
call fcn.10049f86
pop ecx
mov dword [ebp - 4], 0x16
dec dword [ebp - 0x20]
jmp 0x10046419
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.1002c556
mov dword [ebp - 0x1c], 0xb871
lea ecx, [ebp - 0x130]
push 4
call fcn.1002c4d4
push 2
mov dword [ebp - 0x28], ebx
pop esi
jmp 0x10046527
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0x31f145ba
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x10046514
imul ecx, dword [ebp - 0x1c], 0x2daa
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x38], edx
xor edx, edx
cmp eax, dword [ebp - 0x38]
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x10046572
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10046574
mov eax, ebx
cmp dword [ebp - 0x1c], eax
jge 0x1004659a
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x2c], 0xa32a17d0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x130]
mov dword [eax], ecx
jmp 0x100465aa
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100465aa
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea ecx, [ebp - 0x130]
call fcn.1002c556
cmp dword [ebp - 0x90], 0
je 0x1004679c
cmp dword [ebp - 0x94], 0
je 0x1004679c
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x38], 0xa56718e5
mov dword [ebp - 0x54], 0xa1405524
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x20], 0xf3922cbd
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x28], ebx
jmp 0x10046619
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x174], 3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10046608
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jg 0x1004662e
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x1c], ebx
je 0x10046631
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x2ca8cda2
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, esi
setne al
cmp eax, 0xfc371865
sbb eax, eax
xor ecx, ecx
neg eax
cmp dword [ebp - 0x2c], eax
setl cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x54], ebx
je 0x10046687
mov ecx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10046689
mov ecx, ebx
mov eax, dword [ebp - 0x40]
mov edx, 0x9b3a
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x4fda
setl al
xor ecx, ecx
cmp eax, 8
mov eax, dword [ebp - 0x3c]
setle cl
sub edx, ecx
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x174], ecx
mov ecx, dword [ebp - 0x90]
call fcn.1004521a
mov dword [ebp - 0x1c], 0x5c68ec0a
mov dword [ebp - 0x2c], 0x1780eec2
mov dword [ebp - 0x38], 0xaa50887c
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], ebx
jmp 0x100466fa
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7c], 0x76b8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x100466ec
mov dword [ebp - 0x1c], 0x13
jmp 0x1004676d
mov dword [ebp - 0x14], 0xce3051eb
mov dword [ebp - 0x2c], 0x59229a27
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x10046729
cmp dword [ebp - 0x1c], ebx
je 0x10046729
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
jne 0x10046740
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1004674e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, 0xfafe44fa
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jle 0x10046708
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004678e
push ebx
push ebx
push 0xc37
push 0xdc9
call dword [sym.imp.USER32.dll_GetDlgItemInt]
lea eax, [ebp - 0x5c]
push eax
call fcn.10047164
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov dword [ebp - 0x38], 0xc05baf43
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100467b3
push edi
call dword [sym.imp.USER32.dll_ShowCursor]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100467ef
push 0xc32
push 0x118a
push 0x9cd
push 0x231d
push 0x2318
push 0x288
push 0x1d9e
push 0x2f1
push 0x1d32
call dword [sym.imp.GDI32.dll_Arc]
lea ecx, [ebp - 0x94]
call fcn.10041923
mov dword [ebp - 0x24], 0x1124f01c
mov dword [ebp - 0x40], 0x6d32
cmp dword [ebp - 0x40], 0x6ebe
jle 0x10046844
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, eax
mov esi, 0x35e4
mov eax, edi
mov ecx, 0x10607df8
cdq
push edx
push eax
call fcn.1002c3bf
dec edi
dec esi
jne 0x1004681d
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4edd
jl 0x10046816
xor edi, edi
push 2
inc edi
pop esi
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x40], 0x6a9e
jge 0x10046863
mov edx, 0x1000bb38
mov ecx, 0x10607df8
call fcn.1002de69
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], 0xe101eae8
lea ecx, [ebp - 0xd0]
push esi
call fcn.1002c4d4
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x14], ebx
jmp 0x100468bf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], 0xcaaf7cc7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100468ae
mov dword [ebp - 0x14], ebx
jmp 0x100468da
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100468ca
mov dword [ebp - 0x14], ebx
jmp 0x100468f5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0x199d3281
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100468e4
inc dword [ebp - 0x24]
mov dword [ebp - 0x24], 0x15
jmp 0x10046bbb
mov dword [ebp - 0x28], 0xffff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x40], edi
push edi
call fcn.1002c4d4
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x14], ebx
jmp 0x10046946
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x18c], 0x5eb5a40a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10046935
mov dword [ebp - 0x14], ebx
jmp 0x10046964
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10046951
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], ebx
jne 0x1004697d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x24]
je 0x10046a45
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x38], 0x47cafdf1
mov dword [ebp - 0xa8], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0xac], eax
jl 0x100469e0
cmp dword [ebp - 0x1c], ebx
je 0x100469e0
mov eax, edi
cmp dword [ebp - 0x24], ebx
jne 0x100469e2
mov eax, ebx
cmp dword [ebp - 0x24], eax
je 0x100469ee
mov ecx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x100469f0
mov ecx, edi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x180]
cmp edx, eax
mov eax, dword [ebp - 0xd0]
setl cl
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 0x36c8609e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x180]
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xe56e623b
setne al
mov dword [ebp - 0x38], eax
jmp 0x10046b3a
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000bc80]
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x6c], ebx
push eax
push ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x68], ebx
movdqu xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x64], ebx
call fcn.1002e388
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], 0x7dff937b
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x38], 0xe44e384
mov dword [ebp - 0x38], eax
cmp dword [eax + 0xc], ebx
jne 0x10046bc7
mov eax, dword [ebp - 0xb8]
dec dword [eax]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax], 0xb159
mov eax, dword [ebp - 0x3c]
sub eax, 0x4243b80f
imul eax, dword [ebp - 0xa8]
test eax, eax
jne 0x10046ae2
mov eax, dword [ebp - 0x24]
mov edx, ebx
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x24]
test eax, eax
je 0x10046ae4
mov edx, edi
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, dword [eax + 8]
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
cmp ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x6c]
setne dl
xor eax, eax
sub edx, dword [ebp - 0x188]
test edx, edx
setle al
mov dword [ebp - 0x80], eax
call fcn.1002c556
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
cmp dword [eax], esi
mov eax, dword [ebp - 0x80]
setne cl
xor edx, edx
cmp ecx, 0xfffa
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x38]
setl cl
cmp ecx, 0x9a802726
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x80]
cmp ecx, eax
mov eax, dword [ebp - 0xd0]
setge dl
xor ecx, ecx
mov dword [ebp - 0x38], edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
setge cl
xor eax, eax
imul ecx, edx
cmp ecx, edx
lea ecx, [ebp - 0xb8]
setne al
neg eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x1b
call fcn.1002c556
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1b
jl 0x10046909
jmp 0x10046bda
lea ecx, [ebp - 0x6c]
call fcn.1002c556
lea ecx, [ebp - 0xb8]
call fcn.1002c556
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.1002c556
cmp dword [ebp - 0x30], 0
jne 0x10046f5c
cmp dword [ebp - 0x34], 0
je 0x10046f5c
mov dword [ebp - 0x3c], 0x162
cmp dword [ebp - 0x3c], 0x276
jle 0x10046c89
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov ecx, eax
mov dword [ebp - 0x40], 0x7cb5
mov dword [ebp - 0x30], ecx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
xor eax, esi
or eax, ecx
lea ecx, [ebp - 0x258]
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10046c41
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x258]
call fcn.1002c860
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5ae6
jl 0x10046c25
inc esi
cmp esi, 0x3358
jl 0x10046c20
dec ecx
dec dword [ebp - 0x40]
mov dword [ebp - 0x30], ecx
jne 0x10046c1e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0xb3b
jl 0x10046c12
push 2
pop esi
cmp dword [ebp - 0x3c], 0xffffff99
jge 0x10046c9a
push 0x1000bbb8
call fcn.10049f86
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x3c], 0x91b05987
mov dword [ebp - 0x38], 0xc213db23
mov dword [ebp - 0x28], ebx
jmp 0x10046cd0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x50], 0x713b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10046cc2
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x10046f3e
mov dword [ebp - 0x1c], 8
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x2c], 0x30fc353
push esi
call fcn.1002c4d4
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x38], 0x4b46114a
mov dword [ebp - 0x24], ebx
jmp 0x10046d1c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x58], 0x5da2ca33
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10046d0e
mov dword [ebp - 0x24], ebx
jmp 0x10046d39
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x6378
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10046d26
cmp dword [ebp - 0x30], ebx
je 0x10046d49
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x30], ebx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x4c]
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
cmp eax, edi
mov eax, dword [ebp - 0x14]
setle cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x50]
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
cmp edx, eax
mov eax, dword [ebp - 0x38]
setne cl
imul eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sub ecx, 0x6522452a
neg ecx
sbb ecx, ecx
inc ecx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 0x546
cmp dword [ebp - 0x28], 0x732
jle 0x10046e35
push ebx
push 0x1093
push ebx
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x40], 0x47ad
mov dword [ebp - 0x2c], eax
cdq
lea ecx, [ebp - 0x288]
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10046e08
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x288]
call fcn.1002c860
mov eax, dword [ebp - 0x2c]
add eax, esi
dec dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
jne 0x10046df0
inc esi
cmp esi, 0x2a67
jl 0x10046de4
push 2
pop esi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x10046f13
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x50], ebx
je 0x10046e5a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
cmp dword [ebp - 0x50], ebx
jne 0x10046e62
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
xor ecx, ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
test eax, eax
mov eax, dword [ebp - 0x14]
sete cl
add ecx, dword [esi + 4]
imul edx, ecx, 0xe3ba
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp esi, ecx
mov esi, dword [ebp - 0x54]
setl dl
sub edx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp + eax*4 - 0x50]
mov dword [ebp - 0x38], edx
xor edx, edx
cmp eax, 0x7618
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x38]
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x50]
cmp eax, edi
sete cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10c]
neg ecx
cmp ecx, dword [eax]
mov eax, 0xcc19ab5a
setg dl
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x10046e4a
push 2
pop esi
cmp dword [ebp - 0x28], 0x4b4
jge 0x10046f27
push 0x1000bbe0
call fcn.10049f86
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c]
call fcn.1002c556
dec dword [ebp - 0x14]
jmp 0x10046cd8
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x34]
call fcn.1004525c
mov esi, eax
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0xe8], esi
call fcn.10047102
mov dword [eax], esi
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0xaced45b0
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x48], 0x57718da9
cmp dword [ebp - 0x1c], edi
jg 0x10046f95
mov dword [ebp - 0x30], 0xcef989b1
mov eax, dword [ebp - 0x30]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], 0xbf2b8319
mov dword [ebp - 0x38], 0x687c4177
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], 0x5b76
cmp dword [ebp - 0x38], 0x5c02
jle 0x1004706e
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x30], 0x6aff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x2c], 0x3db6
mov esi, eax
mov dword [ebp - 0x48], 0x1ede
mov eax, esi
lea ecx, [ebp - 0x270]
cdq
push edx
push eax
call fcn.1000d0f0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004702c
mov eax, dword [eax]
push eax
call fcn.10049f86
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x270]
call fcn.1002c860
dec esi
dec dword [ebp - 0x48]
jne 0x10047012
mov eax, dword [ebp - 0x58]
dec eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x58], eax
jne 0x10047009
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
jne 0x10046fff
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x336a
jl 0x10046ff3
mov eax, dword [ebp + 8]
lea esi, [ebp - 0xe8]
mov ecx, dword [ebp - 0xc]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret