Function at 0x100193f1
Capabilities:
Delete registry value
Enumerate gui resources
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008332a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x240
push ebx
push esi
push edi
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0x64], edx
mov dword [esp + 0x10], 0x5ab3e90a
push 4
call fcn.100171f5
mov dword [esp + 0x24], 0xfffffff6
xor ebx, ebx
mov dword [esp + 0x34], 1
push 0xffffffffffffffff
mov dword [esp + 0x2c], 0xfffffffb
mov dword [esp + 0x18], ebx
pop esi
jmp 0x10019468
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x104]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10019456
push 2
mov dword [esp + 0x18], ebx
pop edi
jmp 0x1001948b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x84], 0xa32f3f60
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x10019478
cmp dword [esp + 0x10], ebx
jne 0x100194b1
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x104]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x88], ebx
mov dword [eax + 0xc], ebx
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x34]
cmp eax, 0x3b83
setle cl
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x104]
call fcn.10017af3
push edi
lea ecx, [esp + 0x114]
call fcn.100171f5
push 1
lea ecx, [esp + 0x180]
mov dword [esp + 0x258], ebx
call fcn.100171f5
mov byte [esp + 0x254], 1
lea ecx, [esp + 0x194]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x2c], 0xbb7ab61b
mov dword [esp + 0x24], 0xe3e7631
push edi
call fcn.100171f5
mov dword [esp + 0x14], ebx
jmp 0x1001956a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x110]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x10019558
mov dword [esp + 0x14], ebx
jmp 0x1001958c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
mov dword [eax + ecx*4], 0x13c61c71
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10019576
mov dword [esp + 0x14], ebx
jmp 0x100195af
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x194]
mov dword [eax + ecx*4], 0xaa9dade6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x10019599
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x17c]
push 4
pop esi
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x2c]
cmp eax, esi
setle cl
xor eax, eax
sub ecx, edx
cmp ecx, edx
setle al
xor edx, edx
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x110]
cmp dword [eax], ecx
lea ecx, [esp + 0x194]
setne dl
mov dword [esp + 0x24], edx
call fcn.10017af3
lea ecx, [esp + 0x17c]
call fcn.10017af3
or dword [esp + 0x254], 0xffffffff
lea ecx, [esp + 0x110]
call fcn.10017af3
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x9c]
push 3
call fcn.100171f5
mov dword [esp + 0x254], edi
mov dword [esp + 0x20], 0xb4ffb87
mov dword [esp + 0x14], 0x4ab274bf
mov dword [esp + 0x10], ebx
jmp 0x10019665
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x68], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10019659
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10019739
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x68]
cmp eax, dword [esp + 0x14]
jl 0x100196bb
mov dword [esp + 0x2c], 0x4f27
mov dword [esp + 0x14], ebx
jmp 0x100196ae
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x68], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x100196a2
inc dword [esp + 0x2c]
jmp 0x1001972f
push 3
lea ecx, [esp + 0x168]
call fcn.100171f5
mov dword [esp + 0x10], ebx
jmp 0x100196e5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x164]
mov dword [eax + ecx*4], 0x62daab72
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100196cf
mov eax, dword [esp + 0x164]
dec dword [eax + 8]
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019723
push 0x37
push ebx
push 0x268d
push 0x22c5
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
lea ecx, [esp + 0x164]
call fcn.10017af3
dec dword [esp + 0x20]
jns 0x1001967a
cmp dword [esp + 0x14], ebx
je 0x10019744
xor esi, esi
inc esi
jmp 0x10019746
mov esi, ebx
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, esi
setl al
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 9
mov dword [esp + 0x20], 0x4c506d44
mov dword [esp + 0x10], ebx
jmp 0x10019789
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xa8], 0x7fd5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10019776
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], ebx
jl 0x1001984f
mov dword [esp + 0x10], 0x25f5
xor edx, edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x2c], 0x6b79df94
mov dword [esp + 0x24], 0x60e77906
mov eax, dword [esp + 0xac]
mov dword [esp + 0x2c], 0x4f36
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xa8]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xec6e
setle al
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb0]
cmp dword [esp + 0x2c], eax
je 0x10019818
cmp dword [esp + 0x10], ebx
jne 0x10019818
mov edx, ebx
jmp 0x1001981b
xor edx, edx
inc edx
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0xa8]
cmp eax, edx
mov eax, dword [esp + 0x20]
setge cl
sub ecx, dword [esp + eax*4 + 0xa8]
shl ecx, 2
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0x24], ecx
dec dword [esp + 0x20]
jns 0x1001979e
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007c60]
lea eax, [esp + 0x21c]
push eax
lea eax, [esp + 0x210]
mov dword [esp + 0x18], 0xafa9b64f
push eax
mov dword [esp + 0x20], 0x90be4438
lea ecx, [esp + 0x9c]
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x28], 0xfffffff6
push ebx
movdqu xmmword [esp + 0x218], xmm0
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
call fcn.1001895b
mov dword [esp + 0x10], 0x87292079
mov dword [esp + 0x34], 0x7aeb
mov dword [esp + 0x10], ebx
jmp 0x100198dc
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], 0xfdc8dfba
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100198cc
cmp dword [esp + 0x14], ebx
je 0x100198f5
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
test eax, eax
setns cl
xor edx, edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x58], 1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add ecx, 0xfffe
mov edi, dword [esp + 0x90]
cmp ecx, eax
mov eax, dword [esp + 0x14]
setg dl
mov dword [edi + 8], ecx
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x45bbbdeb
setle al
xor ecx, ecx
cmp eax, 0x72b9
setne cl
add ecx, dword [esp + 0x20]
imul ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], ebx
je 0x10019aac
push 2
mov dword [esp + 0x3c], 0xa6dad3f0
pop edi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], ebx
jl 0x10019b58
mov dword [esp + 0x34], 0x239f
mov dword [esp + 0x2c], 0xfffffff6
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x100199b8
push 0x36
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
mov dword [esp + 0x14], ebx
jmp 0x10019a93
mov dword [esp + 0x24], 0xfffd
mov dword [esp + 0x20], ebx
jmp 0x10019a65
mov dword [esp + 0x30], 0x78029323
mov dword [esp + 0x1c], ebx
jmp 0x10019a0c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 3
cmp dword [esp + 0x30], ebx
jl 0x10019a08
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x58], ecx
dec dword [esp + 0x30]
jns 0x100199f2
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jle 0x100199e0
cmp dword [esp + 0x34], ebx
jne 0x10019a1c
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x58], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf839
setl cl
xor edx, edx
imul ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x90]
cmp esi, ecx
setne dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [eax], edx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x100199d2
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x100199c1
dec dword [esp + 0x10]
jns 0x10019987
jmp 0x10019b58
mov dword [esp + 0x20], 0xb5bc
mov dword [esp + 0x24], 0x6abe926f
mov dword [esp + 0x14], ebx
jmp 0x10019b2b
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov dword [edi + 8], esi
mov eax, dword [esp + eax*4 + 0x58]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setne cl
xor edx, edx
cmp esi, ecx
mov eax, dword [esp + eax*4 + 0x58]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [esp + 0x5c], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x10019ac2
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 4
jge 0x10019b55
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x90]
mov dword [eax + ecx*4], 0xffc8ecea
inc dword [esp + 0x20]
jmp 0x10019b36
push 2
pop edi
lea ecx, [esp + 0x90]
call fcn.10017af3
xor esi, esi
lea ecx, [esp + 0x158]
inc esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x24], 0x5243b9c
mov dword [esp + 0x24], 0xe1b8
push 4
call fcn.100171f5
mov byte [esp + 0x254], 3
lea eax, [esp + 0x208]
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007bf0]
lea ecx, [esp + 0xd0]
push eax
lea eax, [esp + 0x200]
mov dword [esp + 0x24], 0x8d40
push eax
push ebx
movdqu xmmword [esp + 0x208], xmm0
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
call fcn.1001895b
mov byte [esp + 0x254], 4
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x1c]
jne 0x10019c0e
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019d3c
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x10019d3c
push esi
lea ecx, [esp + 0xc0]
call fcn.100171f5
mov dword [esp + 0x10], ebx
jmp 0x10019c33
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10019c21
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0x32
jle 0x10019d30
or eax, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10019d21
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
jmp 0x10019cad
mov dword [esp + 0x24], 0xfffffffb
mov dword [esp + 0x24], 0x21e0bec0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xbc]
cmp dword [eax + ecx*4], 1
setne dl
mov dword [eax + esi*4], edx
inc dword [esp + 0x10]
xor edx, edx
cmp dword [esp + 0x10], ebx
jle 0x10019c68
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
cmp eax, 0x956a
mov eax, dword [esp + 0xbc]
setg dl
xor ecx, ecx
inc edx
cmp dword [eax + esi*4], edx
setle cl
xor edx, edx
cmp ecx, dword [eax]
setne dl
xor eax, eax
inc edx
cmp edx, 0x5224
setl al
cmp eax, 4
ja 0x10019d02
mov eax, dword [esp + 0xcc]
cmp dword [eax + 4], ebx
je 0x10019d02
xor edx, edx
inc edx
jmp 0x10019d04
mov edx, ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xbc]
push 0xffffffffffffffff
mov dword [eax + ecx*4], edx
dec dword [esp + 0x24]
pop eax
jns 0x10019c5e
or eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x32
jg 0x10019c4c
lea ecx, [esp + 0xbc]
call fcn.10017af3
lea ecx, [esp + 0xcc]
mov byte [esp + 0x254], 3
call fcn.10017af3
push 0x51b6
lea eax, [esp + 0xa0]
push eax
push ebx
lea eax, [esp + 0x4c]
push eax
push 0x296
call fcn.1001af9d
mov dword [esp + 0x38], 0x7862fd41
add esp, 0x14
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019d91
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019da8
push 0x1b59
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor ecx, ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
inc ecx
jmp 0x10019dc1
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10019db5
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ebx
jl 0x10019eb6
mov dword [esp + 0x14], 0xa0029bf3
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019def
push ebx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [esp + 0x14], ebx
jmp 0x10019ea2
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], ebx
jmp 0x10019e11
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xdc], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10019e02
mov dword [esp + 0xdc], ebx
jmp 0x10019e95
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x4c]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x14]
setge cl
xor edx, edx
dec ecx
cmp ecx, 0x7643
setne dl
sub edx, dword [esp + eax*4 + 0x4c]
jne 0x10019e5b
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x4c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
neg ecx
mov edx, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0x14]
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0x1af9
jl 0x10019e86
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], 1
inc dword [esp + 0xdc]
cmp dword [esp + 0xdc], ebx
jle 0x10019e21
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x10019df8
dec dword [esp + 0x30]
jns 0x10019dd5
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019eca
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnionRect]
mov dword [esp + 0x40], ebx
jmp 0x10019ee6
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x158]
mov dword [eax + ecx*4], 0xd58e7ea
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 4
jl 0x10019ed0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x9c]
neg ecx
mov dword [eax + 8], ecx
je 0x1001a175
mov dword [esp + 0x10], 1
or esi, 0xffffffff
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], 8
mov dword [esp + 0x2c], 0x25d36729
mov dword [esp + 0x10], ebx
jmp 0x10019f3f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1e0], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019f2c
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10019f58
push ebx
push ebx
call dword [sym.imp.USER32.dll_EnumWindows]
mov dword [esp + 0x10], 0xfffffffa
jmp 0x1001a003
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x34], 0xc12265e3
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0xe0980db9
mov dword [esp + 0x38], 0xd1022782
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x24]
je 0x10019faa
cmp dword [esp + 0x34], ebx
je 0x10019faa
xor ecx, ecx
inc ecx
jmp 0x10019fac
mov ecx, ebx
mov eax, dword [esp + 0x10]
xor edx, edx
cmp ecx, eax
setle dl
dec dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x30]
sub eax, 0x1a662cdb
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x1c]
imul eax, eax, 0xfff9
mov dword [esp + 0x30], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff2
jle 0x10019f65
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ebx
jmp 0x1001a038
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0x204e2db5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001a028
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], edi
jg 0x1001a0e3
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x6c], ebx
jne 0x1001a0e0
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x6c], 1
jne 0x1001a071
cmp dword [esp + 0x14], ebx
je 0x1001a071
xor esi, esi
inc esi
jmp 0x1001a073
mov esi, ebx
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x6c]
cmp edx, eax
setl cl
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov eax, dword [esp + 0x6c]
cmp esi, eax
mov eax, dword [esp + 0x10]
setg cl
sub eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x6c]
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x6c]
cmp eax, edx
setl cl
mov dword [esp + 0x2c], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x1001a04d
or esi, 0xffffffff
xor edx, edx
mov dword [esp + 0x10], 0xf32b5620
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov eax, dword [esp + 0x6c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setge cl
cmp ecx, esi
sbb ecx, ecx
neg ecx
add eax, ecx
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, dword [esp + 0x70]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, dword [esp + 0x2c]
jne 0x1001a143
cmp dword [esp + 0x10], ebx
je 0x1001a143
xor ecx, ecx
inc ecx
jmp 0x1001a145
mov ecx, ebx
mov eax, dword [esp + 0x38]
imul eax, ecx
xor ecx, ecx
cmp eax, 0x6b719d87
setne cl
mov dword [esp + 0x14], ecx
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001a43f
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
jmp 0x1001a43f
push edi
lea ecx, [esp + 0x144]
call fcn.100171f5
mov dword [esp + 0x14], 0x6b6eb6b9
xor eax, eax
mov dword [esp + 0x24], 0xadd5d088
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 0x624b
mov dword [esp + 0x10], ebx
jmp 0x1001a1c5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x140]
mov dword [eax + ecx*4], 0x69f7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a1af
cmp dword [esp + 0x14], 0x3a34c865
je 0x1001a216
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x14]
inc eax
add ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, eax
setg dl
imul eax, edx, 0xff60
test eax, eax
jne 0x1001a1f9
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
sub eax, 9
mov dword [esp + 0x28], eax
jne 0x1001a216
mov ecx, ebx
jmp 0x1001a219
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x140]
dec dword [eax]
mov eax, dword [esp + 0x24]
sub ecx, eax
xor eax, eax
cmp ecx, 0xde81
setle al
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001a274
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
lea ecx, [esp + 0x140]
call fcn.10017af3
mov dword [esp + 0x30], ebx
or esi, 0xffffffff
mov dword [esp + 0x24], esi
mov dword [esp + 0x24], 0x7f51ef99
mov dword [esp + 0x20], 0x1897a4a
push 3
mov dword [esp + 0x2c], 0x312b9482
mov dword [esp + 0x20], ebx
pop ecx
jmp 0x1001a2bf
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0xf8], 1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x1001a2ac
mov dword [esp + 0x1c], ebx
jmp 0x1001a2de
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1b8], 0xa1f05067
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x1001a2cb
mov dword [esp + 0x20], ebx
jmp 0x1001a356
mov dword [esp + 0x10], ebx
jmp 0x1001a303
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x238], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001a2f0
mov dword [esp + 0x1b8], 1
xor edx, edx
mov eax, dword [esp + 0xfc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xf8]
test eax, eax
mov eax, dword [esp + 0x20]
setns dl
xor ecx, ecx
add edx, dword [esp + eax*4 + 0xf8]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xf8]
cmp edx, eax
setne cl
mov dword [esp + 0x1c0], ecx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x1001a2ea
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001a374
push ebx
push 0x1dea
push ebx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + 4]
mov dword [ecx + 4], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
je 0x1001a406
mov eax, dword [esp + 0x9c]
xor ecx, ecx
cmp dword [eax + 8], 7
setne cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
cmp eax, ecx
setne dl
mov dword [esp + 0x24], edx
cmp dword [esp + 0x24], ebx
jne 0x1001a3d0
mov eax, dword [esp + 0x9c]
cmp dword [eax + 4], ebx
jne 0x1001a3d0
mov ecx, ebx
jmp 0x1001a3d3
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x30]
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
imul edx, dword [esp + 0x30]
add edx, 0x4edb
imul edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
cmp edx, eax
setle cl
cmp ecx, 0xdaa237f4
jne 0x1001a406
xor eax, eax
inc eax
jmp 0x1001a408
mov eax, ebx
dec eax
cmp eax, 0x1a094951
jne 0x1001a41b
cmp dword [esp + 0x10], ebx
je 0x1001a41b
xor eax, eax
inc eax
jmp 0x1001a41d
mov eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x158]
push ebx
push eax
push 0x282e
call fcn.10023244
add esp, 0xc
lea ecx, [esp + 0x158]
call fcn.10017af3
lea ecx, [esp + 0x9c]
mov dword [esp + 0x254], esi
call fcn.10017af3
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007c90]
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x220]
mov dword [esp + 0xf4], ebx
push eax
push ebx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x100], ebx
movdqu xmmword [esp + 0x228], xmm0
mov dword [esp + 0x104], ebx
call fcn.1001895b
mov eax, dword [esp + 0xec]
xor ecx, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x28], 0x9b8f
mov dword [esp + 0x28], esi
dec dword [eax + 4]
cmp dword [eax + 4], 1
setg cl
mov dword [esp + 0x28], ecx
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001a509
push 0x2197
push 0x74e
push 0x3c5
push 0x1d8b
push 0x1c62
push 0xfde
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
lea ecx, [esp + 0xec]
call fcn.10017af3
mov edi, dword [esp + 0x50]
cmp dword [edi + 0x10], ebx
jne 0x1001a525
xor al, al
jmp 0x1001af4a
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x128]
push 2
call fcn.100171f5
mov dword [esp + 0x24], 0xfffffff8
mov dword [esp + 0x24], 0xbfe73744
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], 0xfffffffb
mov dword [esp + 0x1c], ebx
jmp 0x1001a56c
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1e8], 0xe283bc1b
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1001a559
mov dword [esp + 0x1c], ebx
jmp 0x1001a58f
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x128]
mov dword [eax + ecx*4], 0xa6e8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x1001a579
cmp dword [esp + 0x10], ebx
je 0x1001a66b
mov esi, dword [esp + 0x128]
xor edx, edx
mov eax, 0x45d
mov dword [esp + 0x1e8], eax
cmp dword [esi + 4], eax
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [esi + 4]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
cmp eax, dword [esi + 4]
setle cl
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], ebx
jne 0x1001a5ec
cmp dword [esi + 4], ebx
jne 0x1001a5ec
mov ecx, ebx
jmp 0x1001a5ef
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x1a88
sete al
cmp eax, 0xeab3
jg 0x1001a611
cmp dword [esp + 0x28], ebx
je 0x1001a611
cmp dword [esi + 4], ebx
je 0x1001a611
xor eax, eax
inc eax
jmp 0x1001a613
mov eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
sub ecx, eax
mov eax, dword [esp + 0x128]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax]
mov ecx, 0xfffe
mov eax, dword [esp + 0x10]
setg dl
sub ecx, edx
add eax, ecx
je 0x1001a65a
cmp dword [esp + 0x1ec], ebx
je 0x1001a65a
xor ecx, ecx
inc ecx
jmp 0x1001a65c
mov ecx, ebx
mov eax, dword [esi + 4]
imul eax, ecx
test eax, eax
je 0x1001a66b
xor ecx, ecx
inc ecx
jmp 0x1001a66d
mov ecx, ebx
xor eax, eax
cmp ecx, 0xa339
lea ecx, [esp + 0x128]
setle al
mov dword [esp + 0x10], eax
call fcn.10017af3
lea eax, [esp + 0x64]
push eax
push 0x5649
push ebx
push 0x4e25
call fcn.1001cf02
add esp, 0x10
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x78]
push 3
call fcn.100171f5
push 5
pop eax
mov dword [esp + 0x254], eax
lea ecx, [esp + 0x11c]
mov dword [esp + 0x34], 0x921e124d
mov dword [esp + 0x2c], eax
push 2
call fcn.100171f5
mov byte [esp + 0x254], 6
mov dword [esp + 0x14], ebx
mov dword [esp + 0x38], 0x88e6fcac
mov dword [esp + 0x1c], ebx
jmp 0x1001a700
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x82baef6e
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1001a6ed
mov dword [esp + 0x1c], ebx
jmp 0x1001a723
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x11c]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x1001a70d
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0xf
jl 0x1001a824
xor edx, edx
inc edx
mov dword [esp + 0x10], 0x3938dd44
mov dword [esp + 0x24], 0x64854668
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 6
mov dword [esp + 0x1c], ebx
jmp 0x1001a771
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0xe8], 0x9d089051
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x1001a75e
mov dword [esp + 0x1c], ebx
jmp 0x1001a78c
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1c4], edx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1001a77d
mov ecx, dword [esp + 0x14]
mov esi, edx
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
inc dword [esp + 0x14]
cmp eax, ecx
mov ecx, dword [esp + 0x10]
cmovl esi, ebx
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
xor edx, edx
cmp ecx, dword [eax]
setne dl
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c8]
add eax, dword [esp + 0x1c8]
je 0x1001a80c
cmp dword [esp + 0x14], ebx
je 0x1001a80c
xor edx, edx
inc edx
mov eax, edx
jmp 0x1001a811
xor edx, edx
mov eax, ebx
inc edx
mov dword [esp + 0x28], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xf
jge 0x1001a73c
mov esi, dword [esp + 0x11c]
cmp dword [esi + 4], ebx
je 0x1001a858
mov eax, dword [esp + 0x78]
mov edx, 0x8d3fd905
xor ecx, ecx
mov dword [esi], edx
cmp dword [eax], ebx
setge cl
xor eax, eax
cmp ecx, edx
setg al
cmp eax, 0xfffffff9
je 0x1001a853
cmp dword [esi + 4], ebx
je 0x1001a858
xor eax, eax
inc eax
jmp 0x1001a85a
mov eax, ebx
xor edx, edx
cmp eax, 0x270
mov eax, dword [esp + 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x78]
setge cl
sub edx, ecx
cmp edx, dword [eax]
jne 0x1001a990
mov dword [esp + 0x10], 0xffffffff
lea ecx, [esp + 0x170]
mov dword [esp + 0x24], 0x758ac421
push 1
call fcn.100171f5
mov dword [esp + 0x1c], ebx
jmp 0x1001a8bb
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
mov dword [eax + ecx*4], 8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 1
jl 0x1001a8a5
mov eax, dword [esp + 0x34]
xor edx, edx
mov ecx, dword [esp + 0x78]
cmp eax, dword [ecx + 8]
mov eax, dword [esp + 0x10]
setle dl
add eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x20]
setl cl
cmp ecx, 0xa2ca01dc
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x78]
setne dl
xor ecx, ecx
cmp edx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
setl cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [esp + 0x10]
neg edx
sbb edx, edx
inc edx
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
neg edx
sbb edx, edx
inc edx
imul ecx, edx, 0xf2db
sub ecx, 0x6ccbc211
cmp dword [eax], ecx
jle 0x1001a93d
cmp dword [esp + 0x10], ebx
jne 0x1001a93d
mov eax, ebx
jmp 0x1001a940
xor eax, eax
inc eax
imul eax, eax, 0xd870
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [esp + 0x10]
setne dl
sub edx, dword [esi + 4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0xfffffffe
setne cl
sub ecx, eax
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, dword [esp + 0x170]
setg cl
mov dword [eax], ecx
lea ecx, [esp + 0x170]
jmp 0x1001aa3a
push 2
lea ecx, [esp + 0x138]
call fcn.100171f5
mov dword [esp + 0x28], 0xffff
mov dword [esp + 0x24], 0xfffffff7
mov dword [esp + 0x10], ebx
jmp 0x1001a9c7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x134]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a9b4
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x134]
cmp dword [eax + 4], ebx
jne 0x1001aa2c
mov eax, dword [esp + 0x78]
xor ecx, ecx
mov esi, dword [eax]
mov eax, dword [esp + 0x11c]
cmp dword [eax], esi
setl cl
xor eax, eax
test ecx, ecx
setns al
xor edx, edx
cmp esi, eax
mov eax, dword [esp + 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x20]
setl cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [esp + 0x38]
neg edx
sbb edx, edx
inc edx
cmp dword [esp + 0x2c], edx
jl 0x1001aa2c
mov eax, ebx
jmp 0x1001aa2f
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x134]
call fcn.10017af3
lea ecx, [esp + 0x11c]
call fcn.10017af3
or dword [esp + 0x254], 0xffffffff
lea ecx, [esp + 0x78]
call fcn.10017af3
mov dword [esp + 0x10], 0x8d4081c2
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x28], 0xe7e55059
mov dword [esp + 0x28], 0x34215e1a
push 1
call fcn.100171f5
mov dword [esp + 0x254], 7
mov dword [esp + 0x28], 0xfffffffa
push 2
mov dword [esp + 0x2c], 0xa2e42846
mov dword [esp + 0x40], ebx
pop esi
jmp 0x1001aab9
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0x228], 0x713b
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], esi
jl 0x1001aaa6
push 0x4830
push ebx
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.1001ca38
mov dword [esp + 0x20], ebx
add esp, 0x10
cmp dword [esp + 0x10], 1
jg 0x1001abe7
or edi, 0xffffffff
mov dword [esp + 0x28], edi
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x28], 0xfffffffd
push 0xfffffffffffffffe
pop eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 0xe1b1b552
mov dword [esp + 0x28], 0xe033c225
mov dword [esp + 0x28], str.zE_tE
mov dword [esp + 0x28], 0xec0351a9
mov dword [esp + 0x28], 0x7359b504
mov dword [esp + 0x28], 0x4cbed562
mov dword [esp + 0x28], 0xbb75da2c
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 1
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], 0xd021aa29
mov dword [esp + 0x28], 0xfc353271
push 1
call fcn.100171f5
mov byte [esp + 0x254], 8
mov dword [esp + 0xb8], 0xfff6
mov dword [esp + 0x48], ebx
jmp 0x1001ab91
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x230], 0x7e9f
inc dword [esp + 0x48]
cmp dword [esp + 0x48], esi
jl 0x1001ab7e
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1b0]
push ebx
push eax
call fcn.10023109
push ebx
lea eax, [esp + 0xc8]
push eax
push 0x7ead
call fcn.1001cc78
add esp, 0x18
mov byte [esp + 0x254], 7
lea ecx, [esp + 0x1ac]
call fcn.10017af3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jle 0x1001aaec
mov edi, dword [esp + 0x50]
or dword [esp + 0x254], 0xffffffff
lea ecx, [esp + 0x1a0]
call fcn.10017af3
cmp dword [edi + 0x14], 0x10
jb 0x1001ac05
mov esi, dword [edi]
jmp 0x1001ac07
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x1001ac11
mov ecx, dword [edi]
jmp 0x1001ac13
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001ae34
mov dword [esp + 0x14], 8
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x8c], 0x5cbf7935
mov dword [esp + 0x10], ebx
jmp 0x1001ac54
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1d0], 0x94d0e834
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001ac41
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
je 0x1001ac6e
mov eax, dword [esp + 0x14]
xor edx, edx
inc edx
jmp 0x1001ac70
mov edx, ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add eax, edx
add ecx, eax
je 0x1001ac8c
cmp dword [esp + 0x1d8], ebx
je 0x1001ac8c
xor edx, edx
inc edx
jmp 0x1001ac8e
mov edx, ebx
mov eax, dword [esp + 0x1d4]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x1d0], ecx
lea eax, [ecx + 5]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x14], 8
jmp 0x1001acf2
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], 0xc8c6dcff
push eax
push ebx
lea eax, [esp + 0xe0]
mov dword [esp + 0xe0], 0xd8a0f839
push eax
lea eax, [esp + 0x98]
push eax
call fcn.1001cdcc
add esp, 0x10
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x2f
jl 0x1001acb7
mov al, byte [esi]
cmp al, 0x30
jl 0x1001ad1a
cmp al, 0x39
jg 0x1001ad1a
mov edx, dword [esp + 0x64]
movsx eax, al
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x1001ac07
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x14c]
push 4
mov dword [eax], ebx
call fcn.100171f5
mov dword [esp + 0x254], 9
mov dword [esp + 0x44], 0xdba76aab
mov dword [esp + 0x54], 0x6fda0246
mov dword [esp + 0x10], ebx
jmp 0x1001ad65
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14c]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001ad4f
mov dword [esp + 0x44], ebx
jmp 0x1001ae18
mov dword [esp + 0xc8], 0x7f2fb5a5
lea ecx, [esp + 0x188]
push 3
call fcn.100171f5
mov byte [esp + 0x254], 0xa
mov dword [esp + 0x10], ebx
jmp 0x1001adb2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x188]
mov dword [eax + ecx*4], 0x13a3dbc5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001ad9c
push 0x3750
push 0x21d5
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x194]
push eax
push ebx
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.1001e275
mov byte [esp + 0x3b], bl
add esp, 0x20
cmp byte [esp + 0x1b], 0
je 0x1001ae00
push ebx
call fcn.1001cae5
pop ecx
lea ecx, [esp + 0x188]
mov byte [esp + 0x254], 9
call fcn.10017af3
inc dword [esp + 0x44]
cmp dword [esp + 0x44], 3
jle 0x1001ad75
lea ecx, [esp + 0x14c]
call fcn.10017af3
jmp 0x1001a51e
mov dword [esp + 0x10], 0x6ec17e5c
xor eax, eax
mov dword [esp + 0x2c], ebx
inc eax
or esi, 0xffffffff
xor edx, edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x20], 0xdf39
mov dword [esp + 0x38], 0x711f64db
mov dword [esp + 0x24], 0x5364
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
setle dl
mov dword [esp + 0x50], edx
xor edx, edx
mov ecx, dword [esp + 0x50]
imul ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp dword [esp + 0x28], eax
setle cl
cmp ecx, 0xf63e
jne 0x1001aebd
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
cmp esi, eax
sbb eax, eax
inc eax
cmp eax, 7
jb 0x1001af28
cmp dword [esp + 0x20], ebx
je 0x1001af28
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ebx, 0xef72d4ea
setne al
xor edx, edx
cmp eax, ecx
mov al, 1
setl dl
add edx, 0xc1b1
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret