Function at 0x418edd
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, 0x431cfd
call fcn.0042f9d0
sub esp, 0xd10
mov eax, dword [0x449748]
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
push edi
mov dword [ebp - 0xccc], ebx
mov byte [ebp - 0xc91], bl
mov dword [ebp - 0xcec], ebx
mov dword [ebp - 0xce8], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xd10], ebx
mov dword [ebp - 0xd0c], ebx
mov dword [ebp - 0xd08], ebx
mov dword [ebp - 0xcf8], ebx
mov dword [ebp - 0xcf4], ebx
mov dword [ebp - 0xcf0], ebx
mov dword [ebp - 0xd04], ebx
mov dword [ebp - 0xd00], ebx
mov dword [ebp - 0xcfc], ebx
mov dword [ebp - 0xd1c], ebx
mov dword [ebp - 0xd18], ebx
mov dword [ebp - 0xd14], ebx
mov byte [ebp - 4], 4
or dword [ebp - 0xce4], 0xffffffff
cmp dword [0x44c9f4], ebx
mov byte [ebp - 0xca9], bl
jne 0x418fa3
push 0x37
push 0x20
call fcn.004268a0
cmp eax, ebx
pop ecx
pop ecx
mov dword [0x44c9f4], eax
jne 0x418f9d
push 0x43c616
push esi
push 0x443f98
jmp 0x419149
mov dword [0x44c9f8], ebx
lea eax, [ebp - 0xa60]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
jne 0x418fc6
push 0x43c616
push esi
push 0x443f7c
jmp 0x419149
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 8
call fcn.0042629a
cmp eax, ebx
pop ecx
mov dword [ebp - 0xcb0], eax
je 0x418ff0
mov ecx, dword [ebp - 0xa4c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa48]
mov dword [eax + 4], ecx
push ebx
push ebx
push str.INCLUDE
push esi
mov dword [ebp - 0xcc4], ebx
call fcn.00411b61
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x4190d0
inc dword [ebp - 0xcc4]
cmp byte [esi], 0x22
jne 0x419042
lea eax, [esi + 1]
push eax
call fcn.0042f33d
mov ebx, eax
test ebx, ebx
pop ecx
je 0x419044
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [eax + ebx - 1]
cmp byte [eax], 0x22
jne 0x41903e
mov byte [eax], 0
mov esi, ebx
jmp 0x419044
xor ebx, ebx
lea eax, [ebp - 0xa60]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x419156
mov esi, dword [ebp - 0xcc4]
shl esi, 3
lea eax, [esi + 0x10]
push eax
push dword [ebp - 0xcb0]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41909c
mov ecx, dword [ebp - 0xa4c]
mov dword [ebp - 0xcb0], eax
add eax, esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa48]
and dword [eax + 8], 0
and dword [eax + 0xc], 0
mov dword [eax + 4], ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
je 0x4190ae
push ebx
call fcn.004262e0
pop ecx
push dword [ebp - 0xcc4]
push 0
push str.INCLUDE
push dword [ebp + 0xc]
call fcn.00411b61
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x419010
inc dword [ebp - 0xcc4]
or dword [ebp - 0xcbc], 0xffffffff
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
xor esi, esi
cmp dword [0x44c9f8], esi
mov edi, 0x43c616
jle 0x41911f
mov dword [ebp - 0xcd4], esi
push dword [ebp + 0xc]
mov eax, dword [0x44c9f4]
mov ecx, dword [ebp - 0xcd4]
push dword [ecx + eax]
call ebx
test eax, eax
je 0x419180
add dword [ebp - 0xcd4], 0x20
inc esi
cmp esi, dword [0x44c9f8]
jl 0x4190f8
push 0x43e254
push dword [ebp + 0xc]
call fcn.00426b12
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xcc8], eax
jne 0x41920e
push 0x43c616
push dword [ebp + 0xc]
push 0x443f34
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x10
jmp 0x419177
push 0x43c616
push esi
push str.Include
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x10
test ebx, ebx
je 0x419177
push ebx
call fcn.004262e0
pop ecx
mov di, 1
jmp 0x41afd1
cmp esi, 0xffffffff
mov dword [ebp - 0xcbc], esi
je 0x41911f
cmp dword [ebp - 0xcb0], 0
je 0x41911f
mov eax, dword [0x44c9f4]
shl esi, 5
mov eax, dword [esi + eax + 0x14]
test eax, eax
je 0x41911f
mov ecx, dword [ebp - 0xcc4]
shl ecx, 3
push ecx
push eax
push dword [ebp - 0xcb0]
call fcn.00427cd0
add esp, 0xc
test eax, eax
jne 0x41911f
mov eax, dword [0x44c9f4]
push dword [ebp - 0xcb0]
add eax, esi
mov ecx, dword [eax + 4]
mov bl, byte [eax + 0x18]
mov dword [ebp - 0xca0], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xca8], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xca4], ecx
mov dword [ebp - 0xcc0], eax
call fcn.004262e0
and dword [ebp - 0xcb0], 0
jmp 0x41a967
or dword [ebp - 0xc98], 0xffffffff
push 0x104
push dword [ebp + 0xc]
xor esi, esi
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0xc9c], esi
mov byte [ebp - 0xcb5], 0
mov dword [ebp - 0xca0], esi
mov dword [ebp - 0xca8], esi
mov dword [ebp - 0xca4], esi
call fcn.00427d90
push esi
push 0x441c38
push str.MUSTDEFVAR
push dword [ebp + 0xc]
mov byte [ebp - 0x14], 0
mov dword [ebp - 0xcb4], esi
mov dword [ebp - 0xcc4], esi
mov dword [ebp - 0xcd4], esi
call fcn.00411b61
add esp, 0x1c
mov esi, eax
push 0x441c3c
push esi
call ebx
test eax, eax
je 0x41929c
push 0x43cd44
push esi
call ebx
test eax, eax
je 0x41929c
push 0x43d084
push esi
call ebx
test eax, eax
jne 0x4192a3
mov byte [ebp - 0xca9], 1
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
cmp ebx, 3
jle 0x4192d3
push dword [ebp + 0xc]
call fcn.0042f33d
mov esi, eax
test esi, esi
pop ecx
je 0x4192d3
lea eax, [ebx + esi]
mov byte [eax - 3], 0x69
mov byte [eax - 2], 0x63
mov byte [eax - 1], 0x6f
jmp 0x4192e0
push str.none
call fcn.0042f33d
pop ecx
mov esi, eax
push 0
push esi
push str.Icon
push dword [ebp + 0xc]
call fcn.00411b61
push eax
push dword [0x44eef4]
call fcn.00425b5f
add esp, 0x18
test esi, esi
mov dword [ebp - 0xcc0], eax
je 0x419310
push esi
call fcn.004262e0
pop ecx
mov ebx, dword [ebp - 0xc9c]
mov eax, dword [ebp - 0xcc8]
test byte [eax + 0xc], 0x10
jne 0x41a4b5
inc dword [ebp - 0xcb4]
push eax
lea eax, [ebp - 0x920]
push 0x804
push eax
mov byte [ebp - 0x920], 0
call fcn.00426f90
add esp, 0xc
test eax, eax
jne 0x4193fc
push dword [ebp - 0xcc4]
push eax
push str.INCLUDE
push dword [ebp + 0xc]
call fcn.00411b61
add esp, 0x10
inc dword [ebp - 0xcc4]
mov esi, eax
test esi, esi
je 0x41a4b5
push dword [ebp - 0xcc8]
call fcn.00426cc4
cmp byte [esi], 0x22
pop ecx
jne 0x4193af
lea eax, [esi + 1]
push eax
call fcn.0042f33d
mov ebx, eax
test ebx, ebx
pop ecx
je 0x4193b1
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [eax + ebx - 1]
cmp byte [eax], 0x22
jne 0x4193ab
mov byte [eax], 0
mov esi, ebx
jmp 0x4193b1
xor ebx, ebx
push 0x43e254
push esi
call fcn.00426b12
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xcc8], eax
je 0x41a48b
push 0x104
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.00427d90
add esp, 0xc
test ebx, ebx
mov byte [ebp - 0x14], 0
je 0x4193f0
push ebx
call fcn.004262e0
pop ecx
and dword [ebp - 0xcb4], 0
jmp 0x419310
lea eax, [ebp - 0x920]
push eax
mov byte [ebp - 0x11c], 0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
cmp esi, 0x802
jg 0x41a44c
cmp byte [ebp - 0xcb5], 0
jne 0x419451
push 2
lea eax, [ebp - 0x920]
push 0x440010
push eax
call fcn.00427a00
add esp, 0xc
test eax, eax
jne 0x419316
mov byte [ebp - 0xcb5], 1
jmp 0x419316
lea eax, [ebx*4 + 4]
push eax
push dword [ebp - 0xca0]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xcdc], eax
je 0x41a41e
cmp byte [ebp + esi - 0x921], 0xa
mov edi, eax
mov dword [ebp - 0xca0], edi
je 0x419496
mov byte [ebp + esi - 0x920], 0xa
mov byte [ebp + esi - 0x91f], 0
xor eax, eax
mov cl, byte [ebp + eax - 0x920]
cmp cl, 0x20
je 0x4194a9
cmp cl, 9
jne 0x4194ac
inc eax
jmp 0x419498
lea eax, [ebp + eax - 0x920]
mov cl, byte [eax]
cmp cl, 0x2f
je 0x41a33e
cmp cl, 0x3b
je 0x41a33e
cmp cl, 0x23
je 0x41a33e
cmp cl, 0xa
je 0x41a33e
push eax
call fcn.00425477
mov edi, dword [ebp - 0xc9c]
mov edx, eax
mov eax, dword [ebp - 0xcdc]
lea ebx, [eax + edi*4]
pop ecx
mov dword [ebx], edx
call fcn.00418ced
push edx
mov esi, eax
call fcn.00425477
test esi, esi
je 0x4199de
mov dword [esp], str.__t_n_
push eax
mov dword [ebp - 0xcd8], eax
call fcn.00427c11
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x419985
push 0x443ebc
push edi
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x41960a
cmp dword [ebp - 0xc98], 0xffffffff
je 0x41957a
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc98]
mov edi, eax
call fcn.00424df2
push eax
push edi
call fcn.004254a1
push str._else
push eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
jmp 0x419585
push str.else
call fcn.00425477
pop ecx
mov ecx, dword [ebx]
mov byte [esi + ecx], 0x3a
mov ecx, dword [ebx]
mov byte [ecx + esi + 1], 0
push dword [ebx]
push eax
call fcn.004254a1
mov esi, eax
mov eax, dword [ebx]
test eax, eax
pop ecx
pop ecx
je 0x4195ae
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
push 0x443ea4
push esi
mov dword [ebx], esi
call fcn.004254a1
mov edi, dword [ebp - 0xc9c]
push edi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
add esp, 0x14
lea esi, [ebp - 0xcec]
mov dword [ebx], eax
call fcn.0041d3f9
lea esi, [ebp - 0xd10]
call fcn.0041d3f9
push 0x43e2e0
push dword [ebx]
call fcn.004254a1
pop ecx
xor edi, edi
pop ecx
mov dword [ebx], eax
inc edi
lea esi, [ebp - 0xcf8]
jmp 0x419820
push str.while
push edi
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x4196f4
mov eax, dword [ebx]
mov byte [esi + eax], 0x3a
mov eax, dword [ebx]
mov byte [eax + esi + 1], 0
push 0x443ea4
push dword [ebx]
call fcn.004254a1
push dword [ebp - 0xc9c]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43e2e0
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x1c
push 0x443eb8
mov dword [ebx], eax
call fcn.00425477
cmp dword [ebp - 0xc98], 0xffffffff
mov esi, eax
je 0x41969f
push dword [ebp - 0xc98]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e98
push eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
mov esi, eax
jmp 0x4196a0
pop ecx
push dword [ebp - 0xc9c]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e94
push eax
call fcn.004254a1
push dword [ebx]
push eax
call fcn.004254a1
add esp, 0x1c
mov esi, eax
mov eax, dword [ebx]
test eax, eax
je 0x4196da
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
mov edi, dword [ebp - 0xc9c]
mov dword [ebx], esi
lea esi, [ebp - 0xcec]
call fcn.0041d3f9
push 2
jmp 0x419808
push str.loop
push edi
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x41976b
push 0x443eb8
call fcn.00425477
cmp dword [ebp - 0xc98], 0xffffffff
mov esi, eax
je 0x419745
push dword [ebp - 0xc98]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e98
push eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
mov esi, eax
jmp 0x419746
pop ecx
push dword [ebp - 0xc9c]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e88
push eax
call fcn.004254a1
add esp, 0x14
jmp 0x4196c8
push str.repeat
push edi
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x41982a
push 0x443eb8
call fcn.00425477
cmp dword [ebp - 0xc98], 0xffffffff
mov esi, eax
je 0x4197c0
push dword [ebp - 0xc98]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e98
push eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
mov esi, eax
jmp 0x4197c1
pop ecx
push dword [ebp - 0xc9c]
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x443e88
push eax
call fcn.004254a1
mov esi, eax
mov eax, dword [ebx]
add esp, 0x14
test eax, eax
je 0x4197f3
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
mov edi, dword [ebp - 0xc9c]
mov dword [ebx], esi
lea esi, [ebp - 0xcec]
call fcn.0041d3f9
push 3
pop edi
lea esi, [ebp - 0xcf8]
call fcn.0041d3f9
mov edi, dword [ebp - 0xc9c]
lea esi, [ebp - 0xd04]
call fcn.0041d3f9
jmp 0x4199c6
push 0x443e7c
push edi
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x419985
mov eax, dword [ebx]
mov byte [esi + eax], 0x3a
mov eax, dword [ebx]
mov byte [eax + esi + 1], 0
push 0x443ea4
push dword [ebx]
call fcn.004254a1
push dword [ebp - 0xc9c]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43e2e0
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x1c
cmp dword [ebp - 0xc98], 0xffffffff
mov dword [ebx], eax
je 0x4198c9
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc98]
mov esi, eax
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x43ce3c
push eax
call fcn.004254a1
push dword [ebx]
push eax
call fcn.004254a1
mov esi, dword [ebx]
add esp, 0x20
or dword [ebp - 0xc98], 0xffffffff
mov dword [ebx], eax
jmp 0x4198d2
push eax
call fcn.00425477
pop ecx
mov esi, eax
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc9c]
mov ebx, eax
call fcn.00424df2
push eax
push ebx
call fcn.004254a1
push str.a_f0r
push eax
call fcn.004254a1
push esi
push eax
call fcn.004254a1
add esp, 0x20
test esi, esi
mov dword [ebp - 0xce0], eax
je 0x419916
push esi
call fcn.0042765d
pop ecx
mov ebx, dword [ebp - 0xc9c]
mov edi, ebx
lea esi, [ebp - 0xcec]
call fcn.0041d3f9
push 2
pop edi
lea esi, [ebp - 0xcf8]
call fcn.0041d3f9
mov edi, ebx
lea esi, [ebp - 0xd04]
call fcn.0041d3f9
lea eax, [ebx*4 + 8]
push eax
push dword [ebp - 0xcdc]
mov dword [ebp - 0xcd4], 1
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41996d
mov dword [ebp - 0xca0], eax
mov eax, dword [ebp - 0xce0]
mov ecx, dword [ebp - 0xca0]
inc ebx
mov dword [ebp - 0xc9c], ebx
mov dword [ecx + ebx*4], eax
jmp 0x4199c6
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push str._nif__else_if__else__while__loop__repeat
lea eax, [ebp - 0x920]
push 0x443de8
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov byte [ebp - 0xc91], 1
cmp dword [ebp - 0xcd8], 0
je 0x41a34c
push dword [ebp - 0xcd8]
jmp 0x41a337
mov dword [esp], 0x443fd4
push eax
mov dword [ebp - 0xce0], eax
call fcn.00427c11
test eax, eax
pop ecx
pop ecx
je 0x41a328
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x41a08b
mov cl, byte [eax + 1]
test cl, cl
je 0x419a2a
cmp cl, 0x2f
je 0x419a2a
cmp cl, 0x23
je 0x419a2a
cmp cl, 0x3b
je 0x419a2a
cmp cl, 0x55
je 0x419a2a
cmp cl, 0x75
jne 0x41a08b
lea esi, [ebp - 0xcec]
call fcn.0041d423
cmp eax, 0xffffffff
mov dword [ebp - 0xcd0], eax
je 0x41a045
lea esi, [ebp - 0xcf8]
call fcn.0041d423
cmp eax, 3
jne 0x419b74
push str.until
push dword [ebx]
call fcn.00425a0e
mov esi, dword [ebx]
mov edx, eax
cmp esi, edx
pop ecx
pop ecx
jae 0x419a87
mov ecx, edx
sub ecx, esi
mov edi, esi
mov esi, ecx
shr ecx, 2
mov eax, 0x20202020
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov byte [edx], 0x77
mov byte [edx + 1], 0x68
mov byte [edx + 2], 0x69
mov byte [edx + 3], 0x6c
mov byte [edx + 4], 0x65
add edx, 5
jmp 0x419abb
mov al, byte [edx]
cmp al, 0xd
je 0x419ac0
cmp al, 0xa
je 0x419ac0
cmp al, 0x23
je 0x419ac0
cmp al, 0x3b
je 0x419ac0
cmp al, 0x2f
jne 0x419aba
cmp byte [edx + 1], al
je 0x419ac0
inc edx
cmp byte [edx], 0
jne 0x419a9f
mov byte [edx], 0
push 0x443e98
push dword [ebx]
call fcn.004254a1
mov edi, dword [ebp - 0xcd0]
push edi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x1c
cmp dword [ebp - 0xc98], 0xffffffff
mov dword [ebx], eax
je 0x419b5e
push eax
call fcn.00425477
mov esi, eax
mov eax, dword [ebx]
test eax, eax
pop ecx
je 0x419b19
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc98]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43ce3c
push eax
mov dword [ebx], eax
call fcn.004254a1
push esi
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x20
test esi, esi
mov dword [ebx], eax
je 0x419b5e
push esi
call fcn.0042765d
pop ecx
mov dword [ebp - 0xc98], edi
lea esi, [ebp - 0xd04]
call fcn.0041d423
jmp 0x41a328
cmp eax, 2
mov eax, dword [ebx]
jne 0x419c05
test eax, eax
je 0x419b8d
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
cmp dword [ebp - 0xc98], 0xffffffff
je 0x419bc7
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc98]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push str._goto_:_
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x18
jmp 0x419bd2
push str.goto_:_
call fcn.00425477
pop ecx
mov esi, dword [ebp - 0xcd0]
push esi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x14
mov dword [ebx], eax
mov dword [ebp - 0xc98], esi
jmp 0x419b64
test eax, eax
je 0x419c13
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
mov esi, 0x443eb8
push esi
call fcn.00425477
push dword [ebp - 0xcd0]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43e2e0
push eax
mov dword [ebx], eax
call fcn.004254a1
push dword [ebp - 0xcc8]
mov dword [ebx], eax
call fcn.00426f4f
push dword [ebp - 0xcc8]
mov dword [ebp - 0xcd0], eax
lea eax, [ebp - 0x920]
push 0x804
push eax
call fcn.00426f90
add esp, 0x28
jmp 0x419ca2
cmp byte [ebp - 0x920], 0xa
mov byte [ebp - 0x11c], 0
je 0x419c88
cmp byte [ebp - 0x920], 0
jne 0x419cab
push dword [ebp - 0xcc8]
lea eax, [ebp - 0x920]
push 0x804
push eax
call fcn.00426f90
add esp, 0xc
test eax, eax
jne 0x419c6f
jmp 0x419f98
lea eax, [ebp - 0x920]
push eax
call fcn.00425477
mov dword [ebp - 0xcd8], eax
lea eax, [ebp - 0x920]
mov dword [esp], 0x443fd4
push eax
call fcn.00427c11
test eax, eax
pop ecx
pop ecx
je 0x419f83
push 0x443dc4
push eax
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x419f83
push 0x443dbc
push eax
call fcn.00427c11
test eax, eax
pop ecx
pop ecx
je 0x419f83
cmp byte [eax], 0x7b
jne 0x419de5
inc edi
lea eax, [edi*4 + 4]
push eax
push dword [ebp - 0xcdc]
mov dword [ebp - 0xc9c], edi
call fcn.004266f3
cmp dword [ebp - 0xc98], 0xffffffff
lea ebx, [eax + edi*4]
mov dword [ebp - 0xca0], eax
mov eax, dword [ebx - 4]
pop ecx
pop ecx
mov dword [ebx], eax
je 0x419d77
push esi
call fcn.00425477
push dword [ebp - 0xc98]
mov dword [ebx - 4], eax
call fcn.00424df2
push eax
push dword [ebx - 4]
call fcn.004254a1
push str._goto_:_
push eax
mov dword [ebx - 4], eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
jmp 0x419d82
push str.goto_:_
call fcn.00425477
pop ecx
push 1
lea ecx, [ebp - 0xd10]
mov dword [ebx - 4], eax
call fcn.0041d448
push eax
call fcn.00424df2
push eax
push dword [ebx - 4]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx - 4], eax
call fcn.004254a1
mov edi, dword [ebp - 0xc9c]
and dword [ebp - 0xcd0], 0
add esp, 0x14
lea esi, [ebp - 0xcec]
mov dword [ebx - 4], eax
call fcn.0041d3f9
xor edi, edi
inc edi
lea esi, [ebp - 0xcf8]
call fcn.0041d3f9
mov esi, 0x443eb8
jmp 0x419f83
push 0x443ebc
push eax
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x419f83
inc edi
lea eax, [edi*4 + 4]
push eax
push dword [ebp - 0xcdc]
mov dword [ebp - 0xc9c], edi
call fcn.004266f3
cmp dword [ebp - 0xc98], 0xffffffff
lea ebx, [eax + edi*4]
mov dword [ebp - 0xca0], eax
mov eax, dword [ebx - 4]
pop ecx
pop ecx
mov dword [ebx], eax
je 0x419e64
push esi
call fcn.00425477
push dword [ebp - 0xc98]
mov dword [ebx - 4], eax
call fcn.00424df2
push eax
push dword [ebx - 4]
call fcn.004254a1
push str._goto_:_
push eax
mov dword [ebx - 4], eax
call fcn.004254a1
add esp, 0x18
or dword [ebp - 0xc98], 0xffffffff
jmp 0x419e6f
push str.goto_:_
call fcn.00425477
pop ecx
push 1
lea ecx, [ebp - 0xd10]
mov dword [ebx - 4], eax
call fcn.0041d448
push eax
call fcn.00424df2
push eax
push dword [ebx - 4]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx - 4], eax
call fcn.004254a1
add esp, 0x14
push dword [ebx]
mov dword [ebx - 4], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebx]
push 0x443dc4
push dword [ebp - 0xcd8]
mov byte [ecx + eax - 1], 0x20
call fcn.00425a0e
push eax
push dword [ebx]
call fcn.004254a1
mov edx, eax
add esp, 0x10
mov dword [ebx], edx
call fcn.00418ced
test eax, eax
je 0x419f3b
mov byte [eax + edx], 0x3a
mov ecx, dword [ebx]
mov byte [ecx + eax + 1], 0
push 0x443ea4
push dword [ebx]
call fcn.004254a1
mov edi, dword [ebp - 0xc9c]
push edi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
add esp, 0x14
lea esi, [ebp - 0xcec]
mov dword [ebx], eax
call fcn.0041d3f9
xor edi, edi
inc edi
lea esi, [ebp - 0xcf8]
call fcn.0041d3f9
push 0x43e2e0
push dword [ebx]
call fcn.004254a1
pop ecx
pop ecx
mov dword [ebx], eax
mov esi, 0x443eb8
jmp 0x419f7c
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push str._n
push 0x443d58
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov byte [ebp - 0xc91], 1
and dword [ebp - 0xcd0], 0
cmp dword [ebp - 0xcd8], 0
je 0x419f98
push dword [ebp - 0xcd8]
call fcn.0042765d
pop ecx
cmp dword [ebp - 0xcd0], 0
je 0x41a328
push 0
push dword [ebp - 0xcd0]
push dword [ebp - 0xcc8]
call fcn.00426da4
add esp, 0xc
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp dword [ebp - 0xc98], 0xffffffff
mov ecx, dword [ebx]
mov byte [ecx + eax - 1], 0x20
je 0x41a009
push esi
push dword [ebx]
call fcn.004254a1
push dword [ebp - 0xc98]
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43ce3c
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x1c
or dword [ebp - 0xc98], 0xffffffff
mov dword [ebx], eax
push esi
push dword [ebx]
call fcn.004254a1
pop ecx
pop ecx
lea esi, [ebp - 0xd10]
mov dword [ebx], eax
call fcn.0041d423
push eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x14
mov dword [ebx], eax
jmp 0x41a328
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push 0x443d30
push 0x443d08
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov byte [ebp - 0xc91], 1
jmp 0x41a328
cmp dl, 0x62
je 0x41a095
cmp dl, 0x42
jne 0x41a0ff
mov cl, byte [eax + 1]
cmp cl, 0x72
je 0x41a0a2
cmp cl, 0x52
jne 0x41a0ff
mov cl, byte [eax + 2]
cmp cl, 0x65
je 0x41a0af
cmp cl, 0x45
jne 0x41a0ff
mov cl, byte [eax + 3]
cmp cl, 0x61
je 0x41a0bc
cmp cl, 0x41
jne 0x41a0ff
mov cl, byte [eax + 4]
cmp cl, 0x6b
je 0x41a0c9
cmp cl, 0x4b
jne 0x41a0ff
lea esi, [eax + 5]
mov cl, byte [esi]
test cl, cl
je 0x41a23a
cmp cl, 0x2f
je 0x41a23a
cmp cl, 0x23
je 0x41a23a
cmp cl, 0x3b
je 0x41a23a
cmp cl, 0x30
jl 0x41a0ff
cmp cl, 0x39
jle 0x41a23a
cmp dl, 0x63
je 0x41a10d
cmp dl, 0x43
jne 0x41a2d0
mov cl, byte [eax + 1]
cmp cl, 0x6f
je 0x41a11e
cmp cl, 0x4f
jne 0x41a2d0
mov cl, byte [eax + 2]
cmp cl, 0x6e
je 0x41a12f
cmp cl, 0x4e
jne 0x41a2d0
mov cl, byte [eax + 3]
cmp cl, 0x74
je 0x41a140
cmp cl, 0x54
jne 0x41a2d0
mov cl, byte [eax + 4]
cmp cl, 0x69
je 0x41a151
cmp cl, 0x49
jne 0x41a2d0
mov cl, byte [eax + 5]
cmp cl, 0x6e
je 0x41a162
cmp cl, 0x4e
jne 0x41a2d0
mov cl, byte [eax + 6]
cmp cl, 0x75
je 0x41a173
cmp cl, 0x55
jne 0x41a2d0
mov cl, byte [eax + 7]
cmp cl, 0x65
je 0x41a184
cmp cl, 0x45
jne 0x41a2d0
add eax, 8
mov cl, byte [eax]
test cl, cl
je 0x41a1ae
cmp cl, 0x2f
je 0x41a1ae
cmp cl, 0x23
je 0x41a1ae
cmp cl, 0x3b
je 0x41a1ae
cmp cl, 0x30
jl 0x41a2d0
cmp cl, 0x39
jg 0x41a2d0
push eax
call fcn.00426600
cmp eax, 2
pop ecx
jge 0x41a1bd
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0xd04]
call fcn.0041d448
mov esi, eax
test esi, esi
je 0x41a210
mov eax, dword [ebx]
test eax, eax
je 0x41a1df
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
push str.goto_:_
call fcn.00425477
push esi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x443e88
push eax
mov dword [ebx], eax
call fcn.004254a1
add esp, 0x18
mov dword [ebx], eax
jmp 0x41a2d0
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push 0x443c28
push 0x443bf8
jmp 0x41a2b7
push esi
call fcn.00426600
cmp eax, 2
pop ecx
jge 0x41a249
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0xd04]
call fcn.0041d448
mov esi, eax
test esi, esi
je 0x41a28f
mov eax, dword [ebx]
test eax, eax
je 0x41a26b
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
push str.goto_:_
call fcn.00425477
push esi
mov dword [ebx], eax
call fcn.00424df2
push eax
push dword [ebx]
call fcn.004254a1
push 0x43e2e0
jmp 0x41a1fe
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push str._nwhile__loop__repeat
push 0x443c84
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov byte [ebp - 0xc91], 1
cmp dword [ebp - 0xc98], 0xffffffff
je 0x41a328
push 0x443eb8
call fcn.00425477
push dword [ebp - 0xc98]
mov esi, eax
call fcn.00424df2
push eax
push esi
call fcn.004254a1
push 0x43ce3c
push eax
call fcn.004254a1
push dword [ebx]
push eax
call fcn.004254a1
mov esi, eax
mov eax, dword [ebx]
add esp, 0x20
test eax, eax
je 0x41a31f
push eax
call fcn.0042765d
and dword [ebx], 0
pop ecx
or dword [ebp - 0xc98], 0xffffffff
mov dword [ebx], esi
cmp dword [ebp - 0xce0], 0
je 0x41a34c
push dword [ebp - 0xce0]
call fcn.0042765d
jmp 0x41a34b
push 0x43e2e0
call fcn.00425477
mov dword [edi + ebx*4], eax
pop ecx
mov ebx, dword [ebp - 0xc9c]
lea eax, [ebx*4 + 8]
push eax
push dword [ebp - 0xca8]
call fcn.004266f3
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x41a419
mov edi, dword [ebp - 0xcd4]
mov eax, ebx
sub eax, edi
test eax, eax
mov dword [ebp - 0xca8], esi
jle 0x41a3b3
push dword [esi + eax*4 - 4]
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x41a3b3
test edi, edi
lea ecx, [esi + ebx*4]
je 0x41a3ac
mov esi, dword [esi + ebx*4 - 8]
mov dword [ecx - 4], esi
mov dword [ecx], esi
jmp 0x41a3cc
mov eax, dword [ecx - 4]
mov dword [ecx], eax
jmp 0x41a3cc
lea eax, [ebp - 0x118]
push eax
call fcn.0042f33d
test edi, edi
pop ecx
lea ecx, [esi + ebx*4]
mov dword [ecx], eax
je 0x41a3cc
mov dword [ecx - 4], eax
and dword [ecx + 4], 0
lea eax, [edi + ebx]
lea eax, [eax*4 + 4]
push eax
push dword [ebp - 0xca4]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41a419
test edi, edi
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0xca4], eax
lea eax, [eax + ebx*4]
mov dword [eax], ecx
je 0x41a404
mov dword [eax - 4], ecx
inc ebx
and dword [ebp - 0xcd4], 0
mov dword [ebp - 0xc9c], ebx
mov edi, 0x43c616
jmp 0x41a43d
mov edi, 0x43c616
push edi
lea eax, [ebp - 0x920]
push 0x443bb8
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x10
mov byte [ebp - 0xc91], 1
cmp byte [ebp - 0xc91], 0
je 0x419316
jmp 0x41a4b5
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push edi
push 0x443ec8
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov byte [ebp - 0xc91], 1
jmp 0x41a4b5
push edi
push esi
push 0x443ee8
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x10
test ebx, ebx
mov byte [ebp - 0xc91], 1
je 0x41a4af
push ebx
call fcn.004262e0
pop ecx
mov ebx, dword [ebp - 0xc9c]
push dword [ebp - 0xcc8]
call fcn.00426cc4
cmp byte [ebp - 0xc91], 0
pop ecx
jne 0x41a518
lea esi, [ebp - 0xcec]
call fcn.0041d423
cmp eax, 0xffffffff
je 0x41a5b6
push dword [ebp - 0xcb4]
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push 0x443b8c
push 0x443b70
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
cmp dword [ebp - 0xca0], 0
je 0x41a555
xor esi, esi
test ebx, ebx
jle 0x41a547
mov eax, dword [ebp - 0xca0]
lea edi, [eax + esi*4]
mov eax, dword [edi]
test eax, eax
je 0x41a540
push eax
call fcn.0042765d
and dword [edi], 0
pop ecx
inc esi
cmp esi, ebx
jl 0x41a527
test ebx, ebx
je 0x41a555
push dword [ebp - 0xca0]
call fcn.004262e0
pop ecx
mov edi, dword [ebp - 0xca8]
test edi, edi
je 0x41a589
xor esi, esi
test ebx, ebx
jle 0x41a580
test esi, esi
jle 0x41a579
mov eax, dword [edi + esi*4]
cmp eax, dword [edi + esi*4 - 4]
je 0x41a579
push eax
call fcn.004262e0
pop ecx
inc esi
cmp esi, ebx
jl 0x41a565
test ebx, ebx
je 0x41a589
push edi
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xca4], 0
je 0x41a59e
push dword [ebp - 0xca4]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xcb0], 0
je 0x41a778
push dword [ebp - 0xcb0]
jmp 0x41a772
cmp dword [ebp - 0xc98], 0xffffffff
je 0x41a68a
mov ebx, dword [ebp - 0xc9c]
lea ebx, [ebx*4 + 8]
push ebx
push dword [ebp - 0xca0]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41a626
mov ecx, dword [ebp - 0xc9c]
push 0x443eb8
mov dword [ebp - 0xca0], eax
lea esi, [eax + ecx*4]
call fcn.00425477
push dword [ebp - 0xc98]
mov dword [esi], eax
call fcn.00424df2
push eax
push dword [esi]
call fcn.004254a1
push 0x43e2e0
push eax
mov dword [esi], eax
call fcn.004254a1
add esp, 0x18
and dword [esi + 4], 0
mov dword [esi], eax
push ebx
push dword [ebp - 0xca8]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41a6ae
mov ebx, dword [ebp - 0xc9c]
shl ebx, 2
push edi
mov dword [ebp - 0xca8], eax
lea esi, [ebx + eax]
call fcn.0042f33d
mov ecx, dword [ebp - 0xc9c]
and dword [esi + 4], 0
mov dword [esi], eax
mov eax, dword [ebp - 0xcd4]
add eax, ecx
lea eax, [eax*4 + 4]
push eax
push dword [ebp - 0xca4]
call fcn.004266f3
add esp, 0xc
test eax, eax
je 0x41a6ae
and dword [ebx + eax], 0
mov dword [ebp - 0xca4], eax
jmp 0x41a6ae
mov esi, ebx
shl esi, 2
lea eax, [esi + 4]
push eax
push dword [ebp - 0xca0]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41a6ae
and dword [esi + eax], 0
mov dword [ebp - 0xca0], eax
mov edi, dword [ebp - 0xca0]
mov eax, edi
call fcn.00418d76
mov esi, eax
test esi, esi
je 0x41a796
push dword [ebp + 0xc]
lea eax, [ebp - 0x920]
push str._s_:_n
push eax
call fcn.0042669b
push 0x443b4c
push esi
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
push esi
call fcn.0042765d
add esp, 0x20
test edi, edi
je 0x41a72a
cmp dword [edi], 0
je 0x41a71e
mov ebx, edi
mov esi, ebx
mov eax, dword [esi]
test eax, eax
je 0x41a714
push eax
call fcn.004262e0
and dword [esi], 0
pop ecx
add ebx, 4
cmp dword [ebx], 0
mov esi, ebx
jne 0x41a704
push dword [ebp - 0xca0]
call fcn.004262e0
pop ecx
mov edi, dword [ebp - 0xca8]
test edi, edi
je 0x41a763
xor ebx, ebx
cmp dword [edi], ebx
je 0x41a75c
mov eax, edi
mov esi, edi
test ebx, ebx
je 0x41a749
mov ecx, dword [eax]
cmp ecx, dword [eax - 4]
je 0x41a751
push dword [eax]
call fcn.004262e0
pop ecx
add esi, 4
inc ebx
cmp dword [esi], 0
mov eax, esi
jne 0x41a73e
push edi
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xca4], 0
je 0x41a778
push dword [ebp - 0xca4]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xcc0], 0
je 0x419177
push dword [ebp - 0xcc0]
call dword [sym.imp.USER32.dll_DestroyIcon]
jmp 0x419177
mov esi, dword [ebp - 0xcbc]
cmp esi, 0xffffffff
je 0x41a8bd
mov eax, dword [0x44c9f4]
shl esi, 5
lea ecx, [esi + eax]
mov edx, dword [ecx + 4]
test edx, edx
je 0x41a807
cmp dword [edx], 0
je 0x41a7ea
xor ebx, ebx
mov ecx, dword [esi + eax + 4]
mov ecx, dword [ebx + ecx]
test ecx, ecx
je 0x41a7dd
push ecx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
mov ecx, dword [esi + eax + 4]
and dword [ebx + ecx], 0
mov ecx, dword [esi + eax + 4]
add ebx, 4
cmp dword [ebx + ecx], 0
jne 0x41a7be
lea ecx, [esi + eax]
mov edx, dword [ecx + 4]
test edx, edx
je 0x41a807
push edx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
lea ecx, [esi + eax]
and dword [ecx + 4], 0
mov edx, dword [ecx + 8]
test edx, edx
je 0x41a862
cmp dword [edx], 0
je 0x41a845
xor ebx, ebx
test ebx, ebx
je 0x41a826
mov ecx, dword [esi + eax + 8]
add ecx, ebx
mov edx, dword [ecx]
cmp edx, dword [ecx - 4]
je 0x41a838
mov eax, dword [esi + eax + 8]
push dword [eax + ebx]
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
mov ecx, dword [esi + eax + 8]
add ebx, 4
cmp dword [ebx + ecx], 0
jne 0x41a815
lea ecx, [esi + eax]
mov edx, dword [ecx + 8]
test edx, edx
je 0x41a862
push edx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
lea ecx, [esi + eax]
and dword [ecx + 8], 0
mov edx, dword [ecx + 0xc]
xor edi, edi
cmp edx, edi
je 0x41a87d
push edx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
lea ecx, [esi + eax]
mov dword [ecx + 0xc], edi
mov edx, dword [ecx]
cmp edx, edi
je 0x41a894
push edx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
lea ecx, [esi + eax]
mov dword [ecx], edi
mov edx, dword [ecx + 0x14]
cmp edx, edi
je 0x41a8ad
push edx
call fcn.004262e0
mov eax, dword [0x44c9f4]
pop ecx
lea ecx, [esi + eax]
mov dword [ecx + 0x14], edi
mov ecx, dword [ecx + 0x1c]
cmp ecx, edi
je 0x41a910
push ecx
call dword [sym.imp.USER32.dll_DestroyIcon]
jmp 0x41a90b
mov eax, dword [0x44c9f8]
cmp eax, 0x37
jl 0x41a8ff
inc eax
shl eax, 5
push eax
push dword [0x44c9f4]
call fcn.004266f3
test eax, eax
pop ecx
pop ecx
je 0x41a8f6
mov ecx, dword [0x44c9f8]
inc dword [0x44c9f8]
mov dword [0x44c9f4], eax
mov dword [ebp - 0xcbc], ecx
jmp 0x41a910
or dword [ebp - 0xcbc], 0xffffffff
jmp 0x41a90b
mov dword [ebp - 0xcbc], eax
inc eax
mov dword [0x44c9f8], eax
mov eax, dword [0x44c9f4]
cmp dword [ebp - 0xcbc], 0xffffffff
mov bl, byte [ebp - 0xca9]
je 0x41a968
mov ecx, dword [ebp - 0xcbc]
mov edx, dword [ebp - 0xcb0]
push dword [ebp + 0xc]
shl ecx, 5
mov byte [ecx + eax + 0x18], bl
mov dword [ecx + eax + 0x14], edx
lea esi, [ecx + eax]
call fcn.0042f33d
mov dword [esi], eax
mov eax, dword [ebp - 0xca0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xca8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xca4]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0xcc0]
mov dword [esi + 0x1c], eax
pop ecx
cmp dword [ebp + 0x10], 0
je 0x41aa6b
mov esi, dword [ebp - 0xca0]
push dword [ebp + 0x10]
mov eax, esi
call fcn.00418c4d
mov edi, eax
cmp edi, 0xffffffff
pop ecx
jne 0x41aa34
cmp dword [ebp - 0xcbc], eax
jne 0x41aa2b
test esi, esi
je 0x41a9c8
cmp dword [esi], 0
je 0x41a9c1
mov edi, esi
mov ebx, esi
mov eax, dword [edi]
test eax, eax
je 0x41a9b7
push eax
call fcn.004262e0
and dword [edi], 0
pop ecx
add ebx, 4
cmp dword [ebx], 0
mov edi, ebx
jne 0x41a9a7
push esi
call fcn.004262e0
pop ecx
mov edi, dword [ebp - 0xca8]
xor ebx, ebx
cmp edi, ebx
je 0x41aa01
cmp dword [edi], ebx
je 0x41a9fa
mov eax, edi
mov esi, edi
test ebx, ebx
je 0x41a9e7
mov ecx, dword [eax]
cmp ecx, dword [eax - 4]
je 0x41a9ef
push dword [eax]
call fcn.004262e0
pop ecx
add esi, 4
inc ebx
cmp dword [esi], 0
mov eax, esi
jne 0x41a9dc
push edi
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xca4], 0
je 0x41aa16
push dword [ebp - 0xca4]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xcc0], 0
je 0x41aa2b
push dword [ebp - 0xcc0]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov di, 3
jmp 0x41afd1
cmp byte [ebp + 0x14], 0
je 0x41aa61
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.:uninst
push dword [ebp + 0x10]
call esi
test eax, eax
je 0x41aa5c
push str.:try
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x41aa61
call fcn.0041da9e
mov byte [0x44c980], bl
xor esi, esi
jmp 0x41aad5
xor esi, esi
xor edi, edi
call fcn.0041da9e
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push dword [ebp + 8]
call fcn.00401831
add esp, 0x44
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetParent]
cmp dword [ebp + 0x18], esi
mov byte [0x44c950], 0
mov byte [0x44c980], bl
jne 0x41aad5
mov eax, dword [ebp - 0xcc0]
cmp eax, esi
jne 0x41aac5
push 0xe8
push dword [0x44eef4]
call dword [sym.imp.USER32.dll_LoadIconA]
push eax
push esi
push 0x80
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 8]
push str.DUMMY0_n
call fcn.0041e7ea
pop ecx
call fcn.0041da51
cmp dword [ebp + 0x18], esi
je 0x41aaf0
call dword [ebp + 0x18]
mov eax, dword [ebp - 0xca0]
mov eax, dword [eax + edi*4]
cmp eax, esi
je 0x41ad7d
mov cl, byte [eax]
test cl, cl
je 0x41ac81
cmp cl, 0xa
je 0x41ac81
cmp cl, 0x23
je 0x41ac81
cmp cl, 0x3b
je 0x41ac81
cmp cl, 0x2f
jne 0x41ab34
cmp byte [eax + 1], cl
je 0x41ac81
push eax
mov eax, dword [ebp + 8]
call fcn.0041e7ea
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
pop ecx
push 0x10
mov ebx, eax
call esi
test ah, ah
jns 0x41ac22
push 0x1b
call esi
test ah, ah
jns 0x41ac22
mov eax, dword [ebp - 0xca4]
push dword [eax + edi*4]
mov eax, dword [ebp - 0xca8]
push dword [eax + edi*4]
lea eax, [ebp - 0xc90]
push 0x443a28
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
call fcn.0041d387
push 0x203
push 0x4435c8
lea eax, [ebp - 0xc90]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x41ac18
mov ebx, str.exit
push 7
push str.GOSUB_:
push ebx
call fcn.00427a00
add esp, 0xc
test eax, eax
jne 0x41ac4b
lea esi, [ebp - 0xd1c]
call fcn.0041d3f9
lea eax, [ebx + 6]
push eax
mov eax, dword [ebp - 0xca0]
call fcn.00418c4d
mov edi, eax
cmp edi, 0xffffffff
pop ecx
jne 0x41ac48
mov eax, dword [ebp - 0xca4]
push dword [eax - 4]
mov eax, dword [ebp - 0xca8]
push dword [eax - 4]
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push 0x4439f8
add ebx, 6
jmp 0x41ad5e
cmp eax, 7
jne 0x41ac22
mov ebx, str.abort
test ebx, ebx
je 0x41ac81
mov al, byte [ebx]
test al, al
je 0x41ac81
cmp al, 0x3a
jne 0x41abae
mov eax, dword [ebp - 0xca0]
push ebx
call fcn.00418c4d
mov edi, eax
cmp edi, 0xffffffff
pop ecx
je 0x41ac98
dec edi
jmp 0x41ac81
push str.return
push ebx
call fcn.00427ec0
test eax, eax
pop ecx
pop ecx
jne 0x41ac6f
lea esi, [ebp - 0xd1c]
call fcn.0041d423
test eax, eax
je 0x41acc5
mov edi, eax
jmp 0x41ac81
push str.nextline
push ebx
call fcn.00427ec0
test eax, eax
pop ecx
pop ecx
jne 0x41acf9
inc edi
mov eax, dword [ebp - 0xca0]
inc edi
mov eax, dword [eax + edi*4]
test eax, eax
jne 0x41ab01
jmp 0x41ad7b
mov eax, dword [ebp - 0xca4]
push dword [eax - 4]
mov eax, dword [ebp - 0xca8]
push dword [eax - 4]
lea eax, [ebp - 0x920]
push str._s__d_:_n
push eax
call fcn.0042669b
push 0x4439f8
jmp 0x41ad5e
mov ecx, dword [ebp - 0xca4]
mov eax, edi
shl eax, 2
push dword [eax + ecx]
mov ecx, dword [ebp - 0xca8]
push dword [eax + ecx]
lea eax, [ebp - 0x920]
push 0x4439d0
push eax
call fcn.0042669b
push 0x443978
push 0x43c616
jmp 0x41ad5f
push str.exit
push ebx
call fcn.00427ec0
test eax, eax
pop ecx
pop ecx
jne 0x41ad14
xor esi, esi
mov dword [ebp - 0xccc], esi
jmp 0x41ad7d
push str.abort
push ebx
call fcn.00427ec0
test eax, eax
pop ecx
pop ecx
jne 0x41ad31
mov dword [ebp - 0xccc], 2
jmp 0x41ad7b
mov ecx, dword [ebp - 0xca4]
mov eax, edi
shl eax, 2
push dword [eax + ecx]
mov ecx, dword [ebp - 0xca8]
push dword [eax + ecx]
lea eax, [ebp - 0x920]
push 0x4439d0
push eax
call fcn.0042669b
push 0x43c616
push ebx
lea eax, [ebp - 0x920]
push eax
push dword [ebp + 8]
call fcn.00418be1
add esp, 0x20
mov dword [ebp - 0xccc], 1
xor esi, esi
cmp dword [ebp + 0x10], esi
jne 0x41ada3
cmp dword [ebp + 0x18], esi
jne 0x41ada3
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 1
push dword [ebp + 8]
call fcn.00401831
add esp, 0x44
cmp dword [ebp - 0xcbc], 0xffffffff
jne 0x41ae6a
mov eax, dword [ebp - 0xca0]
cmp eax, esi
je 0x41ade6
cmp dword [eax], esi
je 0x41adda
mov ebx, eax
mov edi, ebx
mov eax, dword [edi]
cmp eax, esi
je 0x41add1
push eax
call fcn.004262e0
pop ecx
mov dword [edi], esi
add ebx, 4
cmp dword [ebx], esi
mov edi, ebx
jne 0x41adc2
push dword [ebp - 0xca0]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xca8], esi
je 0x41ae25
mov eax, dword [ebp - 0xca8]
xor ebx, ebx
cmp dword [eax], esi
je 0x41ae19
mov edi, eax
cmp ebx, esi
je 0x41ae07
mov ecx, dword [eax]
cmp ecx, dword [eax - 4]
je 0x41ae0f
push dword [eax]
call fcn.004262e0
pop ecx
add edi, 4
inc ebx
cmp dword [edi], esi
mov eax, edi
jne 0x41adfc
push dword [ebp - 0xca8]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xcb0], esi
je 0x41ae39
push dword [ebp - 0xcb0]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xca4], esi
je 0x41ae4d
push dword [ebp - 0xca4]
call fcn.004262e0
pop ecx
cmp dword [ebp - 0xcc0], esi
je 0x41afca
push dword [ebp - 0xcc0]
call dword [sym.imp.USER32.dll_DestroyIcon]
jmp 0x41afca
cmp word [ebp - 0xccc], 2
jne 0x41afca
cmp byte [ebp + 0x14], 0
je 0x41afca
cmp dword [ebp + 0x10], esi
je 0x41afca
push str.:try
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41afca
mov eax, dword [0x44c9f8]
dec eax
cmp dword [ebp - 0xcbc], eax
jne 0x41afca
mov esi, dword [ebp - 0xcbc]
mov ecx, dword [0x44c9f4]
shl esi, 5
lea eax, [esi + ecx]
mov edx, dword [eax + 4]
xor edi, edi
cmp edx, edi
je 0x41af1c
cmp dword [edx], edi
je 0x41aeff
xor ebx, ebx
mov eax, dword [esi + ecx + 4]
mov eax, dword [ebx + eax]
cmp eax, edi
je 0x41aef3
push eax
call fcn.004262e0
pop ecx
mov ecx, dword [0x44c9f4]
mov eax, dword [esi + ecx + 4]
mov dword [ebx + eax], edi
mov eax, dword [esi + ecx + 4]
add ebx, 4
cmp dword [ebx + eax], edi
jne 0x41aed4
lea eax, [esi + ecx]
mov edx, dword [eax + 4]
cmp edx, edi
je 0x41af1c
push edx
call fcn.004262e0
pop ecx
mov ecx, dword [0x44c9f4]
lea eax, [esi + ecx]
mov dword [eax + 4], edi
mov edx, dword [eax + 8]
cmp edx, edi
je 0x41af74
cmp dword [edx], edi
je 0x41af59
xor ebx, ebx
cmp ebx, edi
je 0x41af3a
mov eax, dword [esi + ecx + 8]
add eax, ebx
mov edx, dword [eax]
cmp edx, dword [eax - 4]
je 0x41af4d
mov eax, dword [esi + ecx + 8]
push dword [eax + ebx]
call fcn.004262e0
pop ecx
mov ecx, dword [0x44c9f4]
mov eax, dword [esi + ecx + 8]
add ebx, 4
cmp dword [ebx + eax], edi
jne 0x41af29
lea eax, [esi + ecx]
mov ecx, dword [eax + 8]
cmp ecx, edi
je 0x41af74
push ecx
call fcn.004262e0
mov eax, dword [0x44c9f4]
add eax, esi
pop ecx
mov dword [eax + 8], edi
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x41af8c
push ecx
call fcn.004262e0
mov eax, dword [0x44c9f4]
add eax, esi
pop ecx
mov dword [eax + 0xc], edi
mov ecx, dword [eax]
cmp ecx, edi
je 0x41afa2
push ecx
call fcn.004262e0
mov eax, dword [0x44c9f4]
add eax, esi
pop ecx
mov dword [eax], edi
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x41afb0
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp dword [ebp - 0xcb0], edi
je 0x41afc4
push dword [ebp - 0xcb0]
call fcn.004262e0
pop ecx
dec dword [0x44c9f8]
mov di, word [ebp - 0xccc]
lea esi, [ebp - 0xd1c]
call fcn.0041d3e4
lea esi, [ebp - 0xd04]
call fcn.0041d3e4
lea esi, [ebp - 0xcf8]
call fcn.0041d3e4
lea esi, [ebp - 0xd10]
call fcn.0041d3e4
lea esi, [ebp - 0xcec]
call fcn.0041d3e4
mov ecx, dword [ebp - 0xc]
mov ax, di
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.00428306
leave
ret