Function at 0x4412f0
Capabilities:
Get graphical window text

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47e43d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa0
mov eax, dword [0x4b4200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x78], edi
mov esi, dword [ebx + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 4], 0
lea eax, [edi + 0x150]
movaps xmm0, xmmword [0x4aa890]
push ecx
push dword [edi + 0x58]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x48], 0xd
push dword [edi + 0x94]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
push dword [edi + 0x4c]
mov dword [ebp - 0x7c], eax
push eax
call fcn.0041b400
push 0
push 0
push 0x1004
mov dword [ebp - 4], 1
push dword [edi + 0xd4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0xac], eax
cmp eax, 1
jge 0x4413bf
xor esi, esi
jmp 0x4424f4
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x40], 0xffffffff
movups xmmword [ebp - 0x30], xmm0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00407610
mov dword [ebp - 0x3c], 0
push ecx
push 0x2e
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.00402d80
test eax, eax
jne 0x4413ff
xor esi, esi
jmp 0x4424c1
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
xor edi, edi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x18], 1
push edi
push str._Clear_Disk_Info__r_n_r_n__Device_insight:
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.00403540
mov ecx, dword [ebp - 0x78]
push 3
push dword [ebx + 0xc]
push dword [ecx + 0x94]
lea eax, [ecx + 0x9a8]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x64], eax
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x441463
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00405a60
mov eax, dword [ebp - 0x64]
jmp 0x441481
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x441475
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [eax], esi
mov dword [eax + 4], 0
mov esi, dword [eax + 4]
lea ecx, [eax + 8]
mov dword [ebp - 0x98], ecx
mov byte [ecx], 0
lea ecx, [eax + 4]
mov dword [ebp - 0x8c], ecx
test esi, esi
jne 0x4414b2
mov eax, dword [eax]
test eax, eax
je 0x4414b0
cmp word [eax], si
je 0x4414b0
inc esi
cmp word [eax + esi*2], 0
jne 0x4414a8
mov dword [ecx], esi
xor eax, eax
inc eax
cmp word [eax*2 + str._r_n_r_n_tDisk_index:], 0
jne 0x4414b4
add esi, eax
mov ecx, 2
mov dword [ebp - 0x68], esi
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov esi, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, eax
mov edi, 0xd
mov edx, dword [esi]
mov esi, str._r_n_r_n_tDisk_index:
sub esi, eax
mov word [ecx], di
add ecx, 2
movzx eax, word [esi + ecx]
mov edi, eax
test ax, ax
jne 0x4414f6
mov eax, dword [ebp - 0x64]
mov edi, 0
mov esi, dword [ebp - 0x68]
cmp dword [eax], 0
je 0x441544
movzx eax, word [edx]
mov esi, eax
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x68]
test ax, ax
je 0x441544
movzx eax, ax
nop word [eax + eax]
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x441530
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x44155e
push eax
call fcn.00469dd3
mov ecx, dword [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0x74]
lea edx, [ecx + 4]
mov dword [ecx], eax
mov dword [edx], esi
mov byte [ecx + 8], 1
test esi, esi
jne 0x441591
mov ecx, eax
test ecx, ecx
je 0x44158c
cmp word [ecx], si
je 0x44158c
nop dword [eax + eax]
inc esi
cmp word [ecx + esi*2], di
jne 0x441580
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov dword [edx], esi
test eax, eax
jne 0x4415ac
push 2
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
xor edx, edx
mov dword [ecx], eax
mov word [eax], dx
mov dword [ecx + 4], edx
push esi
push dword [ecx]
mov byte [ecx + 8], 1
lea ecx, [ebp - 0x40]
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 0
push dword [ebx + 0xc]
push dword [eax + 0x94]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x4415eb
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00405a60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
jmp 0x441607
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x4415fd
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
lea ecx, [eax + 4]
mov dword [ecx], edi
mov dword [eax], esi
mov esi, dword [ecx]
mov byte [eax + 8], 0
test esi, esi
jne 0x441629
mov eax, dword [eax]
test eax, eax
je 0x441627
cmp word [eax], si
je 0x441627
nop dword [eax]
inc esi
cmp word [eax + esi*2], di
jne 0x441620
mov dword [ecx], esi
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4a64e4], di
jne 0x441630
add esi, eax
mov ecx, 2
mov dword [ebp - 0x68], esi
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov esi, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, eax
mov edi, 0xd
mov edx, dword [esi]
mov esi, 0x4a64e4
sub esi, eax
mov word [ecx], di
add ecx, 2
movzx eax, word [ecx + esi]
mov edi, eax
test ax, ax
jne 0x441671
mov eax, dword [ebp - 0x64]
mov edi, 0
mov esi, dword [ebp - 0x68]
cmp dword [eax], 0
je 0x4416b9
movzx eax, word [edx]
mov esi, eax
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x68]
test ax, ax
je 0x4416b9
movzx eax, ax
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x4416a5
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x4416d3
push eax
call fcn.00469dd3
mov ecx, dword [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0x74]
lea edx, [ecx + 4]
mov dword [ecx], eax
mov dword [edx], esi
mov byte [ecx + 8], 1
test esi, esi
jne 0x441701
mov ecx, eax
test ecx, ecx
je 0x4416fc
cmp word [ecx], si
je 0x4416fc
inc esi
cmp word [ecx + esi*2], di
jne 0x4416f0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov dword [edx], esi
test eax, eax
jne 0x44171c
push 2
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
xor edx, edx
mov dword [ecx], eax
mov word [eax], dx
mov dword [ecx + 4], edx
push esi
push dword [ecx]
mov byte [ecx + 8], 1
lea ecx, [ebp - 0x40]
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 1
push dword [ebx + 0xc]
push dword [eax + 0x94]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x44175b
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00405a60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
jmp 0x441777
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x44176d
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
lea ecx, [eax + 4]
mov dword [ecx], edi
mov dword [eax], esi
mov esi, dword [ecx]
mov byte [eax + 8], 0
test esi, esi
jne 0x441799
mov eax, dword [eax]
test eax, eax
je 0x441797
cmp word [eax], si
je 0x441797
nop dword [eax]
inc esi
cmp word [eax + esi*2], di
jne 0x441790
mov dword [ecx], esi
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4a64e4], di
jne 0x4417a0
add esi, eax
mov ecx, 2
mov dword [ebp - 0x68], esi
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov esi, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, eax
mov edi, 0xd
mov edx, dword [esi]
mov esi, 0x4a64e4
sub esi, eax
mov word [ecx], di
add ecx, 2
movzx eax, word [ecx + esi]
mov edi, eax
test ax, ax
jne 0x4417e1
mov eax, dword [ebp - 0x64]
mov edi, 0
mov esi, dword [ebp - 0x68]
cmp dword [eax], 0
je 0x441829
movzx eax, word [edx]
mov esi, eax
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x68]
test ax, ax
je 0x441829
movzx eax, ax
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x441815
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x441843
push eax
call fcn.00469dd3
mov ecx, dword [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0x74]
lea edx, [ecx + 4]
mov dword [ecx], eax
mov dword [edx], esi
mov byte [ecx + 8], 1
test esi, esi
jne 0x441871
mov ecx, eax
test ecx, ecx
je 0x44186c
cmp word [ecx], si
je 0x44186c
inc esi
cmp word [ecx + esi*2], di
jne 0x441860
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov dword [edx], esi
test eax, eax
jne 0x44188c
push 2
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
xor edx, edx
mov dword [ecx], eax
mov word [eax], dx
mov dword [ecx + 4], edx
push esi
push dword [ecx]
mov byte [ecx + 8], 1
lea ecx, [ebp - 0x40]
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 2
push dword [ebx + 0xc]
push dword [eax + 0x94]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x4418d1
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00405a60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x98]
jmp 0x4418f4
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x4418e3
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
lea ecx, [eax + 4]
mov byte [eax + 8], 1
lea edx, [eax + 8]
mov dword [ecx], edi
mov dword [eax], esi
mov esi, dword [ecx]
test esi, esi
jne 0x441916
mov eax, dword [eax]
test eax, eax
je 0x44190c
cmp word [eax], si
je 0x44190c
inc esi
cmp word [eax + esi*2], di
jne 0x441905
mov dword [ecx], esi
test esi, esi
je 0x441a2a
mov byte [edx], 0
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4a64e4], di
jne 0x441920
add esi, eax
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x68], eax
mov edi, 0xd
mov edx, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x6c], edx
mov edx, 0x4a64e4
sub edx, eax
mov word [ecx], di
add ecx, 2
movzx eax, word [ecx + edx]
mov edi, eax
test ax, ax
jne 0x441961
mov eax, dword [ebp - 0x64]
mov edi, 0
mov edx, dword [ebp - 0x6c]
cmp dword [eax], 0
je 0x4419ab
movzx eax, word [edx]
mov edi, eax
mov dword [ebp - 0x6c], edi
mov edi, 0
test ax, ax
je 0x4419ab
movzx eax, ax
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x441997
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x4419c5
push eax
call fcn.00469dd3
mov ecx, dword [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0x68]
lea edx, [ecx + 4]
mov dword [ecx], eax
mov dword [edx], esi
mov byte [ecx + 8], 1
test esi, esi
jne 0x4419f4
mov ecx, eax
test ecx, ecx
je 0x4419ef
cmp word [ecx], si
je 0x4419ef
inc esi
cmp word [ecx + esi*2], 0
jne 0x4419e2
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov dword [edx], esi
test eax, eax
jne 0x441a0f
push 2
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
xor edx, edx
mov dword [ecx], eax
mov word [eax], dx
mov dword [ecx + 4], edx
push esi
push dword [ecx]
mov byte [ecx + 8], 1
lea ecx, [ebp - 0x40]
call fcn.00403540
mov dword [ebp - 0xa0], 0
jmp 0x441a30
mov dword [ebp - 0xa0], edi
xor esi, esi
lea ecx, [ebp - 0x40]
push esi
push str._r_n_r_n__Disk_information:_r_n
mov dword [ebp - 0x88], esi
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push esi
push dword [eax + 0x98]
call fcn.00419c70
mov esi, eax
cmp esi, dword [ebp - 0xa0]
je 0x441a98
cmp esi, 1
jne 0x441a70
push 0
push str._r_n_r_n__Critical_attributes:_r_n
jmp 0x441a8a
cmp esi, 2
jne 0x441a7e
push 0
push str._r_n_r_n__Other_attributes:_r_n
jmp 0x441a8a
cmp esi, 3
jne 0x441a92
push 0
push str._r_n_r_n__Critical_warnings:_r_n
lea ecx, [ebp - 0x40]
call fcn.00403540
mov dword [ebp - 0xa0], esi
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 1
push dword [ebp - 0x88]
push dword [eax + 0x98]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x441ac4
mov esi, dword [ebp - 0x64]
mov ecx, esi
push eax
call fcn.00405a60
jmp 0x441af3
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x441ad6
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [eax], esi
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x98]
mov byte [eax], 1
mov eax, dword [esi]
test eax, eax
je 0x442487
cmp word [eax], 0
je 0x442487
push 0
push 0x4a64e4
lea ecx, [ebp - 0x40]
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 0
push dword [ebp - 0x88]
push dword [eax + 0x98]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x441bd6
push eax
lea ecx, [ebp - 0x20]
call fcn.00405a60
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x70], edi
test esi, esi
je 0x441bef
cmp esi, 1
jne 0x441cb7
mov byte [ebp - 0x18], 0
xor esi, esi
inc esi
cmp word [esi*2 + str.______], 0
jne 0x441b62
inc esi
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441bb3
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441bb3
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441ba2
mov edi, str.______
mov ecx, 0x20
sub edi, edx
nop
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441bc0
jmp 0x441f31
test edi, edi
je 0x441be3
push edi
call fcn.00469dd3
add esp, 4
mov edi, esi
mov byte [ebp - 0x18], 1
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x20], edi
test edi, edi
jne 0x441bf8
mov dword [ebp - 0x1c], edi
jmp 0x441c13
xor esi, esi
cmp word [edi], si
je 0x441c08
nop
inc esi
cmp word [edi + esi*2], 0
jne 0x441c00
mov dword [ebp - 0x1c], esi
test esi, esi
jne 0x441b53
xor eax, eax
mov byte [ebp - 0x18], 0
test edi, edi
jne 0x441c21
xor ecx, ecx
jmp 0x441c30
cmp word [edi], ax
je 0x441c2e
inc eax
cmp word [edi + eax*2], 0
jne 0x441c26
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
nop word [eax + eax]
lea ecx, [ecx + 1]
cmp word [ecx*2 + str._______], 0
jne 0x441c40
lea esi, [ecx + eax]
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441c95
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441c95
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441c84
mov edi, str._______
mov ecx, 0x20
sub edi, edx
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441ca1
jmp 0x441f31
test esi, esi
jne 0x441ccf
test edi, edi
je 0x441ccc
cmp word [edi], si
je 0x441ccc
inc esi
cmp word [edi + esi*2], 0
jne 0x441cc4
mov dword [ebp - 0x1c], esi
cmp esi, 2
jne 0x441d56
mov byte [ebp - 0x18], 0
xor esi, esi
nop
inc esi
cmp word [esi*2 + 0x4a65ec], 0
jne 0x441ce0
add esi, 2
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441d33
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441d33
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441d22
mov edi, 0x4a65ec
mov ecx, 0x20
sub edi, edx
nop
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441d40
jmp 0x441f31
test esi, esi
jne 0x441d6e
test edi, edi
je 0x441d6b
cmp word [edi], si
je 0x441d6b
inc esi
cmp word [edi + esi*2], 0
jne 0x441d63
mov dword [ebp - 0x1c], esi
cmp esi, 3
jne 0x441df6
mov byte [ebp - 0x18], 0
xor esi, esi
nop dword [eax]
inc esi
cmp word [esi*2 + 0x4a65fc], 0
jne 0x441d80
add esi, 3
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441dd3
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441dd3
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441dc2
mov edi, 0x4a65fc
mov ecx, 0x20
sub edi, edx
nop
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edi + edx]
mov ecx, eax
test ax, ax
jne 0x441de0
jmp 0x441f31
test esi, esi
jne 0x441e0e
test edi, edi
je 0x441e0b
cmp word [edi], si
je 0x441e0b
inc esi
cmp word [edi + esi*2], 0
jne 0x441e03
mov dword [ebp - 0x1c], esi
cmp esi, 4
jne 0x441e96
mov byte [ebp - 0x18], 0
xor esi, esi
nop dword [eax]
inc esi
cmp word [esi*2 + 0x4a6608], 0
jne 0x441e20
add esi, 4
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441e73
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441e73
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441e62
mov edi, 0x4a6608
mov ecx, 0x20
sub edi, edx
nop
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edi + edx]
mov ecx, eax
test ax, ax
jne 0x441e80
jmp 0x441f31
test esi, esi
jne 0x441eae
test edi, edi
je 0x441eab
cmp word [edi], si
je 0x441eab
inc esi
cmp word [edi + esi*2], 0
jne 0x441ea3
mov dword [ebp - 0x1c], esi
cmp esi, 5
jne 0x441f53
mov byte [ebp - 0x18], 0
xor esi, esi
nop dword [eax]
inc esi
cmp word [esi*2 + 0x4a6614], 0
jne 0x441ec0
add esi, 5
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
add esp, 4
mov dword [ebp - 0x68], eax
mov edx, eax
test edi, edi
je 0x441f13
movzx ecx, word [edi]
mov eax, ecx
test cx, cx
je 0x441f13
mov dword [ebp - 0x6c], edi
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441f02
mov edi, 0x4a6614
mov ecx, 0x20
sub edi, edx
nop
mov word [edx], cx
lea edx, [edx + 2]
movzx eax, word [edx + edi]
mov ecx, eax
test ax, ax
jne 0x441f20
mov edi, dword [ebp - 0x70]
xor eax, eax
mov word [edx], ax
test edi, edi
je 0x441f46
push edi
call fcn.00469dd3
add esp, 4
mov edi, dword [ebp - 0x68]
mov byte [ebp - 0x18], 1
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
test esi, esi
jne 0x441f6b
test edi, edi
je 0x441f68
cmp word [edi], si
je 0x441f68
inc esi
cmp word [edi + esi*2], 0
jne 0x441f60
mov dword [ebp - 0x1c], esi
test edi, edi
jne 0x441f86
push 2
call fcn.0046a3df
mov edi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], eax
mov word [edi], ax
push esi
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x18], 1
call fcn.00403540
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ecx]
test esi, esi
jne 0x441fba
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x441fb8
cmp word [eax], si
je 0x441fb8
nop
inc esi
cmp word [eax + esi*2], 0
jne 0x441fb0
mov dword [ecx], esi
mov eax, dword [ebp - 0x64]
cmp dword [eax], 0
jne 0x441fdb
push 2
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
add esp, 4
xor edx, edx
mov dword [ecx], eax
mov word [eax], dx
mov eax, ecx
mov dword [ecx + 4], edx
push esi
push dword [eax]
lea ecx, [ebp - 0x40]
mov byte [eax + 8], 1
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 2
push dword [ebp - 0x88]
push dword [eax + 0x98]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x44201d
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00405a60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
jmp 0x44203d
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x44202f
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
lea ecx, [eax + 4]
mov dword [ecx], 0
mov dword [eax], esi
mov esi, dword [ecx]
mov byte [eax + 8], 0
test esi, esi
jne 0x44205c
mov eax, dword [eax]
test eax, eax
je 0x44205a
cmp word [eax], si
je 0x44205a
inc esi
cmp word [eax + esi*2], 0
jne 0x442052
mov dword [ecx], esi
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4a661c], 0
jne 0x442060
add esi, eax
mov ecx, 2
mov dword [ebp - 0x6c], esi
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov ecx, dword [ebp - 0x64]
mov esi, 0x4a661c
add esp, 4
mov dword [ebp - 0x74], eax
sub esi, eax
mov edx, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x68], edx
mov edx, 0x20
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + esi]
mov edx, eax
test ax, ax
jne 0x4420a5
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
cmp dword [eax], 0
je 0x4420eb
movzx eax, word [edx]
mov edx, eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x68]
test ax, ax
je 0x4420eb
movzx eax, ax
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x4420d7
mov edx, dword [ebp - 0x64]
xor eax, eax
mov word [ecx], ax
mov eax, dword [edx]
test eax, eax
je 0x442105
push eax
call fcn.00469dd3
mov edx, dword [ebp - 0x64]
add esp, 4
mov ecx, dword [ebp - 0x74]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov byte [edx + 8], 1
test esi, esi
jne 0x44212b
mov eax, ecx
test eax, eax
je 0x442128
cmp word [eax], si
je 0x442128
inc esi
cmp word [eax + esi*2], 0
jne 0x442120
mov dword [edx + 4], esi
test ecx, ecx
jne 0x442146
push 2
call fcn.0046a3df
mov edx, dword [ebp - 0x64]
add esp, 4
xor ecx, ecx
mov dword [edx], eax
mov word [eax], cx
mov dword [edx + 4], ecx
push esi
push dword [edx]
lea ecx, [ebp - 0x40]
mov byte [edx + 8], 1
call fcn.00403540
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
push 3
push dword [ebp - 0x88]
push dword [eax + 0x98]
call fcn.00419d90
mov esi, eax
test esi, esi
jne 0x442184
mov esi, dword [ebp - 0x64]
mov ecx, esi
push eax
call fcn.00405a60
lea edx, [esi + 4]
jmp 0x4421b0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
je 0x442196
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x64]
lea edx, [eax + 4]
mov dword [edx], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0x64]
mov byte [eax], 1
mov eax, dword [edx]
test eax, eax
jne 0x4421d3
mov ecx, dword [esi]
test ecx, ecx
je 0x4421c9
cmp word [ecx], ax
je 0x4421c9
inc eax
cmp word [ecx + eax*2], 0
jne 0x4421c1
mov dword [edx], eax
test eax, eax
je 0x442487
cmp dword [esi], 0
jne 0x4421f0
push 2
call fcn.0046a3df
add esp, 4
mov dword [esi], eax
xor ecx, ecx
mov word [eax], cx
lea eax, [esi + 4]
mov dword [eax], ecx
jmp 0x4421f2
mov eax, edx
mov esi, dword [esi]
mov dh, 1
mov dword [ebp - 0x70], esi
xor dl, dl
mov dword [ebp - 0x74], esi
mov ecx, esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x84], esi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x68], esi
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0x80], str.__0
mov byte [esi], dh
mov esi, dword [ebp - 0x68]
mov dword [esi], 0
mov esi, dword [ebp - 0x98]
mov byte [esi], dl
xor edx, edx
mov dword [eax], 0
mov esi, dword [ebp - 0x70]
nop dword [eax]
inc edx
cmp word [edx*2 + str.__Ideal_value_:], 0
jne 0x442240
test esi, esi
jne 0x442273
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x84], eax
jmp 0x4422aa
xor eax, eax
cmp word [esi], ax
je 0x4422a8
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x90], esi
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x80], esi
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x84], esi
mov esi, dword [ebp - 0x70]
nop
inc eax
cmp word [ecx + eax*2], 0
jne 0x4422a0
add edx, eax
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + str.__0], 0
jne 0x4422b0
add edx, eax
mov ecx, 2
mov dword [ebp - 0xa8], edx
lea eax, [edx + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0046a3df
mov edx, dword [ebp - 0x84]
mov ecx, eax
mov eax, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x74], esi
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x6c], ecx
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x68], edx
test eax, eax
je 0x442372
movzx eax, word [eax]
mov esi, dword [ebp - 0x70]
mov edx, eax
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x74], esi
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x68], edx
test ax, ax
je 0x442372
mov esi, dword [ebp - 0x70]
mov eax, ecx
sub dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x74], esi
mov esi, dword [ebp - 0x80]
movzx eax, ax
mov dword [ebp - 0x9c], esi
mov esi, eax
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x94], eax
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edx]
mov esi, eax
test ax, ax
jne 0x442361
mov edx, str.__Ideal_value_:
mov esi, 0x20
sub edx, ecx
nop
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edx]
mov esi, eax
test ax, ax
jne 0x442380
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x9c]
test eax, eax
je 0x4423d4
movzx eax, word [eax]
mov esi, eax
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x9c]
test ax, ax
je 0x4423d4
movzx eax, ax
nop word [eax + eax]
movzx eax, ax
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
test ax, ax
jne 0x4423c0
mov eax, 0x29
nop dword [eax]
movzx eax, ax
lea esi, [esi + 2]
mov word [ecx], ax
lea ecx, [ecx + 2]
movzx eax, word [esi]
test ax, ax
jne 0x4423e0
mov edx, dword [ebp - 0x64]
xor eax, eax
mov word [ecx], ax
mov eax, dword [edx]
test eax, eax
je 0x44240e
push eax
call fcn.00469dd3
mov edx, dword [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0xa8]
lea esi, [edx + 4]
mov ecx, dword [ebp - 0x6c]
mov dword [esi], eax
mov eax, dword [ebp - 0x90]
mov dword [edx], ecx
mov byte [edx + 8], 1
test eax, eax
je 0x44243a
push eax
call fcn.00469dd3
mov edx, dword [ebp - 0x64]
add esp, 4
mov ecx, dword [edx]
mov esi, dword [esi]
test esi, esi
jne 0x44245d
mov eax, ecx
test eax, eax
je 0x44245a
cmp word [eax], si
je 0x44245a
nop dword [eax + eax]
inc esi
cmp word [eax + esi*2], 0
jne 0x442450
mov ecx, dword [edx]
mov dword [edx + 4], esi
test ecx, ecx
jne 0x442478
push 2
call fcn.0046a3df
mov edx, dword [ebp - 0x64]
add esp, 4
xor ecx, ecx
mov dword [edx], eax
mov word [eax], cx
mov dword [edx + 4], ecx
push esi
push dword [edx]
lea ecx, [ebp - 0x40]
mov byte [edx + 8], 1
call fcn.00403540
mov esi, dword [ebp - 0x88]
inc esi
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0xac]
jl 0x441a46
push 0
push str._r_n_r_n_End_of_file_
lea ecx, [ebp - 0x40]
call fcn.00403540
mov esi, 1
test edi, edi
je 0x4424c1
push edi
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4424d1
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4424e1
push eax
call fcn.00469dd3
add esp, 4
mov eax, dword [ebp - 0x40]
cmp eax, 0xffffffff
je 0x4424f4
test eax, eax
je 0x4424f4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x60]
test ecx, ecx
je 0x44251d
test edi, edi
je 0x44252a
push dword [ebp - 0x48]
lea eax, [ebp - 0x60]
push dword [ebp - 0x58]
push eax
call fcn.0040f6b0
call fcn.00407990
test edi, edi
je 0x44252a
push edi
call fcn.00469dd3
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00469dc5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8