Function at 0x4538b0
Capabilities:
Get graphical window text
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
push ebx
mov ebx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 4]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x18], ebx
jne 0x4538d9
mov edx, dword [ebx]
push eax
push eax
xor ecx, ecx
call fcn.00479790
pop ebx
add esp, 0x6c
ret 0x14
push ebp
push esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
xor eax, eax
push edi
mov ecx, 0x67
mov edi, 0x5b4170
rep stosd dword es:[edi], eax
mov eax, bind
mov esi, 1
mov dword [0x5b4170], eax
mov dword [0x5b4174], eax
mov dword [0x5b4178], eax
mov dword [0x5b417c], eax
mov dword [0x5b41bc], esi
mov dword [0x5b4198], esi
mov eax, dword [ebx + 4]
cmp byte [eax], 0x2d
mov ebp, esi
jne 0x453b88
cmp byte [eax + 1], 0x74
je 0x453b88
mov edi, eax
push 0x64
push edi
mov dword [esp + 0x1c], edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453953
mov dword [0x5b4180], esi
push 0x6f
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453968
mov dword [0x5b4184], esi
push 0x73
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x45397d
mov dword [0x5b4188], esi
push 0x53
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453992
mov dword [0x5b418c], esi
push 0x65
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4539a7
mov dword [0x5b419c], esi
push 0x45
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4539c0
mov dword [0x5b419c], 2
push 0x42
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4539d5
mov dword [0x5b41a4], esi
push 0x6d
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4539ea
mov dword [0x5b41a0], esi
push 0x76
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453a0a
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, 0x30
setne cl
mov dword [0x5b41d4], ecx
push 0x7a
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453a2a
mov cl, byte [eax + 1]
xor edx, edx
cmp cl, 0x30
setne dl
mov dword [0x5b41d8], edx
push 0x69
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453a3f
mov dword [0x5b41dc], esi
push 0x43
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453a54
mov dword [0x5b41c4], esi
push 0x6c
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453aa7
lea ebp, [eax + 1]
mov dword [0x5b41a8], esi
mov al, byte [ebp]
test al, al
je 0x453a9d
movzx eax, al
push eax
call fcn.00570e57
add esp, 4
test eax, eax
je 0x453a9d
push ebp
call fcn.005705cb
add esp, 4
cmp eax, esi
mov dword [0x5b41ac], eax
jg 0x453aa7
mov dword [0x5b41ac], esi
jmp 0x453aa7
mov dword [0x5b41bc], 0
push 0x48
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453abc
mov dword [0x5b41b4], esi
push 0x6e
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453ad1
mov dword [0x5b4190], esi
push 0x78
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453ae6
mov dword [0x5b4194], esi
push 0x68
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453aff
mov dword [0x5b4198], 0
push 0x70
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453b30
mov eax, dword [0x5b41a8]
test eax, eax
je 0x453b20
mov eax, dword [0x5b41ac]
test eax, eax
je 0x453b30
mov dword [0x5b41b8], esi
mov dword [0x5b41bc], 0
push 0x61
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453b45
mov dword [0x5b41d0], esi
push 0x6b
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x453b65
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, 0x31
setne cl
mov dword [0x5b41cc], ecx
mov eax, dword [ebx + 8]
test eax, eax
mov ebp, 2
jne 0x453b88
mov edx, dword [ebx]
push 0
push 0
xor ecx, ecx
call fcn.00479790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x14
mov dword [0x5b41e0], 8
mov eax, 0x5b41e4
mov edx, dword [eax - 4]
add edx, 8
mov dword [eax], edx
add eax, 4
cmp eax, 0x5b42a8
jl 0x453b97
mov eax, dword [ebx + ebp*4]
push 2
push 0x586060
push eax
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x453c71
mov ecx, dword [ebx + ebp*4]
mov al, byte [ecx + 2]
xor edi, edi
test al, al
jne 0x453bda
mov dword [esp + 0x1c], 1
jmp 0x453c53
mov dword [0x5b41e0], edi
mov edx, dword [ebx + ebp*4]
add edx, 2
push 0x583ea0
push edx
xor esi, esi
call fcn.00570bff
add esp, 8
cmp eax, edi
je 0x453c53
lea ebx, [ebx]
push eax
call fcn.005705cb
add esp, 4
cmp eax, edi
mov dword [esi*4 + 0x5b41e0], eax
jle 0x453c4c
cmp esi, edi
je 0x453c2b
mov ecx, dword [esi*4 + 0x5b41dc]
cmp eax, ecx
jg 0x453c2b
inc ecx
mov dword [esi*4 + 0x5b41e0], ecx
inc esi
cmp esi, 0x32
jge 0x453c53
push 0x583ea0
push edi
mov dword [esi*4 + 0x5b41e0], edi
call fcn.00570bff
add esp, 8
cmp eax, edi
jne 0x453c00
jmp 0x453c53
mov dword [esi*4 + 0x5b41e0], edi
mov eax, dword [ebx + ebp*4 + 4]
inc ebp
cmp eax, edi
jne 0x453c71
mov edx, dword [ebx]
push edi
push edi
xor ecx, ecx
call fcn.00479790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x14
mov eax, dword [ebx + ebp*4]
cmp byte [eax], 0x2b
jne 0x453d8a
push 0x74
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x453c93
or dword [0x5b41c0], 1
mov eax, dword [ebx + ebp*4]
push 0x66
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x453cac
or dword [0x5b41c0], 2
mov ecx, dword [ebx + ebp*4]
push 0x6e
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453cc5
or dword [0x5b41c0], 4
mov edx, dword [ebx + ebp*4]
push 0x78
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453cde
or dword [0x5b41c0], 8
mov eax, dword [ebx + ebp*4]
push 0x73
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x453cf7
or dword [0x5b41c0], 0x10
mov ecx, dword [ebx + ebp*4]
push 0x62
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453d10
or dword [0x5b41c0], 0x20
mov edx, dword [ebx + ebp*4]
push 0x6c
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453d29
or dword [0x5b41c0], 0x40
mov eax, dword [ebx + ebp*4]
push 0x4c
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x453d45
or dword [0x5b41c0], 0x80
mov ecx, dword [ebx + ebp*4]
push 0x65
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453d61
or dword [0x5b41c0], 0x100
mov edx, dword [ebx + ebp*4]
push 0x64
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x453d7d
or dword [0x5b41c0], 0x200
mov eax, dword [ebx + ebp*4 + 4]
inc ebp
test eax, eax
je 0x453b71
cmp byte [eax], 0x22
mov esi, dword [esp + 0x84]
mov edi, ebp
mov dword [esp + 0x20], edi
jne 0x453ddb
push 0
push 0x104
push esi
mov edx, ebp
mov ecx, ebx
call fcn.004f51f0
mov ebp, eax
test ebp, ebp
jl 0x453ebb
mov dl, 0x20
mov ecx, esi
call fcn.00524ec0
cmp byte [esi], 0x40
jne 0x453dcc
mov ecx, esi
call fcn.00524fb0
mov edx, dword [ebx + edi*4]
mov ecx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x453dd1
mov edx, dword [ebx + edi*4]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x453de3
sub eax, esi
cmp eax, 0x5a
jbe 0x453df4
mov byte [edx + 0x5a], cl
mov ecx, dword [ebx + edi*4]
cmp byte [ecx], 0x3d
jne 0x453ed2
mov al, byte [ecx + 1]
test al, al
je 0x453ed2
mov edi, dword [esp + 0x8c]
xor esi, esi
test edi, edi
je 0x453e53
mov ecx, dword [edi + 0xc88]
call fcn.0042c530
test eax, eax
je 0x453e53
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + eax*4]
mov edx, dword [edi + 0xc88]
inc ecx
push ecx
add edx, 0x3f0
push edx
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x453e53
mov esi, dword [edi + 0xc88]
test esi, esi
jne 0x453ea7
xor edi, edi
test esi, esi
jne 0x453ea7
mov esi, dword [0x5a3a48]
test esi, esi
je 0x453e9d
cmp edi, 1
je 0x453e77
mov eax, dword [esp + 0x90]
cmp dword [esi + 0x888], eax
jne 0x453e93
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + ecx*4]
inc edx
push edx
lea eax, [esi + 0x3f0]
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x453e9d
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x453e63
inc edi
cmp edi, 1
jle 0x453e55
test esi, esi
je 0x453ebb
mov ecx, dword [esi]
call fcn.00542c90
mov esi, eax
test esi, esi
mov dword [esp + 0x8c], esi
jne 0x453eff
mov edx, dword [ebx]
push 3
push 0
xor ecx, ecx
call fcn.00479790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x14
mov edx, dword [esp + 0x90]
call fcn.004e2e60
mov esi, eax
test esi, esi
mov dword [esp + 0x8c], esi
jne 0x453ef3
mov ecx, dword [ebx + edi*4]
cmp byte [ecx], 0x40
jne 0x453ebb
mov ecx, dword [ebx + edi*4]
call fcn.00542cf0
test eax, eax
jne 0x453ebb
mov eax, dword [esp + 0x1c]
inc ebp
test eax, eax
je 0x453fd0
test esi, esi
je 0x454dea
cmp dword [esi + 0x708], 9
jne 0x454dea
mov esi, dword [esp + 0x8c]
xor edi, edi
add esi, 0x77c
lea eax, [ebx + ebp*4]
mov dword [esi], edi
cmp dword [eax], 0
je 0x453f8c
mov ebx, eax
lea esp, [esp]
mov edx, dword [eax]
push edx
call fcn.005705cb
add esp, 4
test eax, eax
mov dword [esi], eax
jle 0x453f7a
test edi, edi
je 0x453f5f
mov ecx, dword [esi - 4]
cmp eax, ecx
jg 0x453f5f
inc ecx
mov dword [esi], ecx
inc edi
add esi, 4
cmp edi, 0x32
jge 0x453f8c
add ebx, 4
mov dword [esi], 0
cmp dword [ebx], 0
mov eax, ebx
jne 0x453f40
jmp 0x453f8c
mov eax, dword [esp + 0x8c]
mov dword [eax + edi*4 + 0x77c], 0
mov esi, dword [esp + 0x8c]
mov eax, dword [esi + 0x874]
test eax, eax
je 0x453fb5
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esi + 0x874]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, 1
mov ecx, esi
call fcn.00542fd0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x6c
ret 0x14
mov ecx, dword [ebx + ebp*4]
test ecx, ecx
je 0x454089
call fcn.004f4570
test eax, eax
je 0x454089
mov ecx, dword [ebx + ebp*4 + 4]
test ecx, ecx
je 0x454089
call fcn.004f4570
test eax, eax
je 0x454089
mov edx, dword [ebx + ebp*4]
push edx
call fcn.005705cb
mov dword [0x5b4170], eax
mov eax, dword [ebx + ebp*4 + 4]
push eax
call fcn.005705cb
add ebp, 2
mov dword [0x5b4174], eax
mov ecx, dword [ebx + ebp*4]
add esp, 8
test ecx, ecx
je 0x454089
call fcn.004f4570
test eax, eax
je 0x454089
mov ecx, dword [ebx + ebp*4 + 4]
test ecx, ecx
je 0x454089
call fcn.004f4570
test eax, eax
je 0x454089
mov ecx, dword [ebx + ebp*4]
push ecx
call fcn.005705cb
mov dword [0x5b4178], eax
mov edx, dword [ebx + ebp*4 + 4]
push edx
call fcn.005705cb
mov dword [0x5b417c], eax
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x454086
push 0x66
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x454086
mov dword [0x5b41c8], 1
add ebp, 2
mov eax, dword [ebx + ebp*4]
test eax, eax
je 0x45409c
cmp byte [eax], 0x2f
jne 0x45409c
mov dword [esp + 0x2c], ebp
inc ebp
jmp 0x4540a4
mov dword [esp + 0x2c], 0
cmp dword [ebx + ebp*4], 0
mov edi, dword [esp + 0x80]
mov dword [esp + 0x18], 0
je 0x4541f8
mov edx, dword [ebx + ebp*4 + 4]
test edx, edx
lea ecx, [ebx + ebp*4 + 4]
mov eax, ebp
je 0x4540db
jmp 0x4540d0
mov edx, dword [ecx + 4]
add ecx, 4
inc eax
test edx, edx
jne 0x4540d0
cmp eax, ebp
mov dword [esp + 0x1c], eax
jl 0x4541f8
mov ecx, dword [esp + 0x1c]
push ebx
mov edx, edi
mov byte [edi], 0
call fcn.004f4660
push 0x20
push edi
mov dword [esp + 0x30], 0
call fcn.00570980
mov esi, eax
add esp, 8
test esi, esi
je 0x45412b
lea ecx, [esi + 1]
call fcn.004f4570
test eax, eax
je 0x45412b
push esi
call fcn.005705cb
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esi], 0
cmp byte [edi], 0x22
jne 0x454165
lea esi, [edi + 1]
push 0x22
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454165
mov byte [eax], 0
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454150
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00571040
add esp, 0xc
mov edx, 0x585e80
mov ecx, edi
call fcn.0041e320
test eax, eax
jne 0x454195
mov edx, str..ico
mov ecx, edi
call fcn.0041e320
test eax, eax
jne 0x454195
mov edx, str..dll
mov ecx, edi
call fcn.0041e320
test eax, eax
je 0x4541b6
mov edx, edi
mov ecx, edi
call fcn.0041da40
test eax, eax
je 0x453ebb
mov edx, 1
mov ecx, edi
call fcn.0041fd10
test eax, eax
jne 0x4541c9
mov eax, dword [esp + 0x1c]
dec eax
cmp eax, ebp
mov dword [esp + 0x1c], eax
jge 0x4540e7
jmp 0x4541f8
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [ebx + eax*4], 0
mov edx, dword [0x5b4310]
push edi
push edx
call dword [sym.imp.SHELL32.dll_ExtractIconA]
cmp eax, 1
mov dword [esp + 0x18], eax
jne 0x4541f8
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x84]
mov byte [edi], 0
mov eax, dword [ebx + ebp*4]
test eax, eax
je 0x45424b
push 0x584670
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45424a
mov eax, dword [ebx + ebp*4]
push 0x58604c
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x45424a
mov ecx, dword [ebx + ebp*4]
mov al, byte [ecx]
cmp al, 0x40
jne 0x45434d
mov edx, edi
nop
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x454240
inc ebp
mov eax, dword [ebx + ebp*4]
test eax, eax
lea esi, [ebx + ebp*4]
je 0x4543fa
mov ecx, dword [esp + 0x80]
mov byte [ecx], 0
cmp dword [esi], 0
je 0x4542d8
mov ebx, esi
lea ebx, [ebx]
mov ecx, dword [esi]
call fcn.004f4570
test eax, eax
jne 0x4542d8
mov edx, dword [esp + 0x80]
cmp byte [edx], 0
je 0x4542a1
mov edi, edx
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454290
mov ax, word [0x5842b8]
mov word [edi], ax
mov eax, dword [esi]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4542a5
mov edi, dword [esp + 0x80]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4542b6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx]
inc ebp
test eax, eax
mov esi, ebx
jne 0x454270
mov esi, dword [esp + 0x80]
mov ecx, esi
call fcn.00524e60
cmp byte [esi], 0
je 0x4543fa
mov ebx, esi
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4542f4
mov cx, word [0x583ea0]
mov edx, dword [esp + 0x24]
mov word [edi], cx
mov ebp, dword [edx + ebp*4]
test ebp, ebp
je 0x4543c0
mov eax, ebp
mov edx, ebp
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454320
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454330
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4543dd
cmp al, 0x22
je 0x454374
push 0x2e
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x45424b
mov ecx, dword [ebx + ebp*4]
call fcn.004f4600
test eax, eax
jne 0x45424b
push 0
push 0x104
push edi
mov edx, ebp
mov ecx, ebx
call fcn.004f51f0
mov esi, eax
test esi, esi
jl 0x453ebb
mov edx, edi
mov ecx, edi
call fcn.0041da40
test eax, eax
je 0x453ebb
mov edx, 1
mov ecx, edi
call fcn.0041fd10
test eax, eax
je 0x4543b8
lea ebp, [esi + 1]
jmp 0x45424b
mov byte [edi], 0
jmp 0x45424b
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4543c3
mov ax, word [0x586048]
mov word [edi], ax
mov cl, byte [0x58604a]
mov byte [edi + 2], cl
mov edx, 0x5b42a8
mov byte [ebx + 0x5a], 0
mov eax, ebx
sub edx, ebx
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4543f0
mov ebp, dword [esp + 0x8c]
xor edi, edi
or esi, 0xffffffff
cmp ebp, edi
mov dword [esp + 0x1c], edi
jne 0x4544c4
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x45442d
push 0x63
push eax
call fcn.00570260
add esp, 8
test eax, eax
jne 0x454dea
cmp dword [0x5b4170], esi
mov eax, bind
jne 0x45443f
mov dword [0x5b4170], eax
cmp dword [0x5b4174], esi
jne 0x45444c
mov dword [0x5b4174], eax
cmp dword [0x5b4178], esi
jne 0x454459
mov dword [0x5b4178], eax
cmp dword [0x5b417c], esi
jne 0x454466
mov dword [0x5b417c], eax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + eax*4]
push edx
push edi
push edi
mov edx, 9
call fcn.00548f10
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x454499
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6c
ret 0x14
mov ecx, eax
call fcn.00542c90
mov ebp, eax
cmp ebp, edi
je 0x45448d
mov edx, dword [esp + 0x88]
mov eax, 1
mov dword [ebp + 0x718], eax
mov dword [ebp + 0x714], eax
mov dword [ebp + 0xb54], edx
mov ecx, dword [ebp + 0xb54]
cmp ecx, edi
je 0x4544dd
call fcn.004186a0
test eax, eax
jne 0x4544dd
mov dword [ebp + 0xb54], edi
cmp dword [ebp + 0x708], 9
jne 0x4545f5
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x454593
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x80]
mov ecx, dword [ecx + eax*4]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x454506
mov edi, ebx
mov byte [ebx + 0x5a], al
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454516
mov dx, word [0x5842b8]
lea esi, [ebp + 0xb58]
mov word [edi], dx
cmp byte [esi], 0
je 0x454541
push esi
push ebx
call fcn.005809c6
add esp, 8
test eax, eax
je 0x454593
mov edx, esi
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x454547
mov eax, dword [ebp + 0x86c]
push esi
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454568
sub eax, edx
mov edx, eax
mov eax, esi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454578
mov ecx, dword [ebp + 0x86c]
push edx
sub eax, esi
push eax
mov edx, 1
call fcn.004779b0
mov ebx, dword [esp + 0x84]
cmp byte [ebx], 0
je 0x4545b0
push ebx
lea ecx, [ebp + 0xa4c]
mov edx, 0x104
call fcn.0041ee40
mov esi, dword [esp + 0x18]
test esi, esi
je 0x4545fc
mov eax, dword [ebp + 0x9f0]
test eax, eax
je 0x4545c9
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov edx, dword [ebp]
mov ecx, esi
push ecx
push 1
push 0x80
push edx
mov dword [ebp + 0x9f0], esi
mov dword [esp + 0x28], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x10], 2
jmp 0x4545fc
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4546d1
push 0x67
push eax
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x4546d1
mov al, byte [esi + 1]
inc esi
test al, al
mov edi, 1
je 0x454657
movzx eax, al
push eax
call fcn.00570e57
add esp, 4
test eax, eax
je 0x454657
push esi
call fcn.005705cb
mov edi, eax
add esp, 4
test edi, edi
jg 0x45464d
xor edi, edi
jmp 0x454657
cmp edi, 3
jle 0x454657
mov edi, 3
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
jne 0x454691
mov edx, dword [ebp]
push edx
call esi
test eax, eax
je 0x454691
mov eax, dword [0x59bd48]
test eax, eax
je 0x4546d1
mov eax, dword [ebp]
cmp eax, dword [0x5b4320]
je 0x4546d1
mov dword [ebp + 0x710], edi
jmp 0x4546cc
mov ecx, dword [ebp]
push ecx
mov dword [ebp + 0x710], edi
call esi
test eax, eax
je 0x4546cc
mov eax, dword [ebp + 0x710]
test eax, eax
jne 0x4546c3
mov edx, dword [ebp]
push 0x37
push 0
push 0
push 0
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x4546cc
xor edx, edx
mov ecx, ebp
call fcn.00496980
or dword [esp + 0x10], 2
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x454db2
mov esi, dword [esp + 0x14]
test esi, esi
je 0x454965
push 0x63
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454734
mov eax, dword [ebp + 0x720]
test eax, eax
jne 0x454db2
mov ecx, dword [ebp + 0x708]
mov eax, 1
cmp ecx, eax
je 0x454db2
push 0
push 0
mov dword [ebp + 0x720], eax
mov eax, dword [ebp]
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x454db2
push 0x6b
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454822
cmp dword [ebp + 0x708], 9
jne 0x454822
mov edx, dword [ebp]
mov ecx, dword [0x5b41cc]
push 0x180
push ebx
push edx
mov dword [ebp + 0x74c], ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push ebx
call fcn.00570260
mov ecx, dword [ebp + 0x74c]
mov ebx, dword [esp + 0x88]
add esp, 8
test ecx, ecx
mov esi, ebx
je 0x4547cf
lea ecx, [ebp + 9]
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x454793
test eax, eax
je 0x4547c8
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4547a3
mov edi, ebx
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4547b0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
push ebx
push eax
jmp 0x45480d
lea ecx, [ebp + 8]
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x4547d4
test eax, eax
je 0x454808
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4547e4
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4547f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp]
push ebx
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
or eax, 1
mov dword [esp + 0x10], eax
push 0x77
push esi
call fcn.00570260
add esp, 8
test eax, eax
mov edi, 1
je 0x454850
mov eax, dword [ebp + 0x708]
test eax, eax
mov dword [ebp + 0xa20], edi
je 0x45484c
mov dword [ebp + 0xa48], edi
or dword [esp + 0x10], edi
push 0x62
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454886
cmp dword [ebp + 0x708], 9
jne 0x454886
mov eax, dword [ebp + 0x874]
test eax, eax
je 0x454886
mov ecx, dword [ebp]
push 0
push 0x583b74
mov edx, 0x8098
call fcn.00544040
push 0x52
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4548a1
mov ecx, dword [ebp]
call fcn.004ff3d0
or dword [esp + 0x10], edi
push 0x68
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4548cc
mov ecx, dword [ebp + 0x708]
xor eax, eax
cmp ecx, eax
mov dword [ebp + 0xa20], eax
je 0x4548c8
mov dword [ebp + 0xa48], eax
or dword [esp + 0x10], edi
push 0x6e
push esi
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4548ea
push 0x68
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454935
mov eax, dword [0x59bd48]
test eax, eax
je 0x45490a
mov ecx, ebp
call fcn.005273b0
test eax, eax
je 0x45490a
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
jne 0x454927
push 0x68
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454927
mov edx, dword [ebp]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x454931
mov ecx, dword [ebp]
mov edx, edi
call fcn.00497650
or dword [esp + 0x10], edi
push 0x78
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454965
push 0x61
push esi
call fcn.00570260
mov ecx, dword [ebp]
add esp, 8
test eax, eax
mov edx, 3
jne 0x454960
mov edx, 6
call fcn.004973e0
mov eax, dword [ebp]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x454aed
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x454aed
mov eax, dword [ebp]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
je 0x4549ba
mov edx, dword [0x5b4318]
push 2
lea ecx, [esp + 0x34]
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [0x5b4170]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x30]
jne 0x4549d1
mov edx, esi
mov dword [0x5b4170], edx
cmp dword [0x5b4174], 0xffffffff
mov edi, dword [esp + 0x34]
jne 0x4549e4
mov dword [0x5b4174], edi
mov ecx, dword [0x5b4178]
cmp ecx, 0xffffffff
jne 0x4549fa
mov ecx, bind
mov dword [0x5b4178], ecx
mov eax, dword [0x5b417c]
cmp eax, 0xffffffff
jne 0x454a0e
mov eax, bind
mov dword [0x5b417c], eax
cmp edx, 0x80000000
je 0x454ca8
cmp ecx, 0x80000000
jne 0x454a2e
mov ecx, dword [esp + 0x38]
sub ecx, esi
mov dword [0x5b4178], ecx
cmp eax, 0x80000000
jne 0x454a41
mov edx, dword [esp + 0x3c]
sub edx, edi
mov dword [0x5b417c], edx
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
jne 0x454a62
mov ecx, dword [0x5b4314]
push 0x5b4174
mov edx, 0x5b4170
call fcn.004e26d0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x454ac1
push 0x66
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x454ac1
mov ecx, dword [ebp]
push 0
lea edx, [esp + 0x34]
call fcn.005448e0
mov ecx, dword [ebp]
lea edx, [esp + 0x40]
call fcn.00544a10
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
mov esi, dword [0x5b4178]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
sub eax, edi
add esi, eax
mov eax, dword [0x5b417c]
sub ecx, edx
add eax, ecx
mov dword [0x5b4178], esi
mov dword [0x5b417c], eax
mov edx, dword [0x5b417c]
mov eax, dword [0x5b4178]
mov ecx, dword [0x5b4174]
push 1
push edx
mov edx, dword [0x5b4170]
push eax
mov eax, dword [ebp]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x454ca8
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], 0x2c
mov edx, dword [ebp]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov edx, dword [0x5b4170]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x6c]
jne 0x454b1b
mov edx, esi
mov dword [0x5b4170], edx
cmp dword [0x5b4174], 0xffffffff
mov edi, dword [esp + 0x70]
jne 0x454b2e
mov dword [0x5b4174], edi
mov ecx, dword [0x5b4178]
cmp ecx, 0xffffffff
jne 0x454b44
mov ecx, bind
mov dword [0x5b4178], ecx
mov eax, dword [0x5b417c]
cmp eax, 0xffffffff
jne 0x454b58
mov eax, bind
mov dword [0x5b417c], eax
cmp edx, 0x80000000
je 0x454c7c
cmp ecx, 0x80000000
jne 0x454b78
mov ecx, dword [esp + 0x74]
sub ecx, esi
mov dword [0x5b4178], ecx
cmp eax, 0x80000000
jne 0x454b8b
mov edx, dword [esp + 0x78]
sub edx, edi
mov dword [0x5b417c], edx
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
jne 0x454bac
mov ecx, dword [0x5b4314]
push 0x5b4174
mov edx, 0x5b4170
call fcn.004e26d0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x454c0b
push 0x66
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454c0b
mov ecx, dword [ebp]
push 0
lea edx, [esp + 0x34]
call fcn.005448e0
mov ecx, dword [ebp]
lea edx, [esp + 0x40]
call fcn.00544a10
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov edi, dword [0x5b4178]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
sub eax, ebx
add edi, eax
mov eax, dword [0x5b417c]
sub ecx, edx
add eax, ecx
mov dword [0x5b4178], edi
mov dword [0x5b417c], eax
mov eax, dword [0x5b4170]
mov edx, dword [0x5b4178]
mov ecx, dword [0x5b4174]
add edx, eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x5b417c]
add eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [0x59bd48]
test eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
je 0x454c6b
mov ecx, ebp
call fcn.005273b0
test eax, eax
je 0x454c6b
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
je 0x454c6b
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x454c6b
mov dword [esp + 0x58], 0
mov eax, dword [ebp]
lea edx, [esp + 0x50]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowPlacement]
jmp 0x454c80
mov esi, dword [esp + 0x14]
test esi, esi
je 0x454db2
mov ecx, dword [esp + 0x14]
push 0x72
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x454ca8
mov ecx, dword [ebp]
mov edx, 8
call fcn.004973e0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x454db2
mov esi, eax
push 0x6f
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454ccc
mov edx, 1
jmp 0x454cdd
push 0x75
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454ce5
xor edx, edx
mov ecx, dword [ebp]
call fcn.00543030
push 0x76
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454d00
mov edx, dword [0x5b41d4]
mov dword [ebp + 0xbc0], edx
push 0x7a
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454d6f
mov eax, dword [ebp + 0xa28]
test eax, eax
mov ecx, dword [0x5b41d8]
je 0x454d46
test ecx, ecx
jne 0x454d42
mov dword [ebp + 0xa28], ecx
mov ecx, dword [0x5b430c]
call fcn.0051fdb0
mov dword [0x5b430c], eax
mov eax, dword [esp + 0x10]
or eax, 1
jmp 0x454d6b
test eax, eax
jne 0x454d6f
test ecx, ecx
je 0x454d6f
mov edi, 1
mov dword [ebp + 0xa28], edi
mov ecx, dword [0x5b430c]
call fcn.0051fdb0
mov dword [0x5b430c], eax
mov eax, dword [esp + 0x10]
or eax, edi
mov dword [esp + 0x10], eax
push 0x61
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454d85
mov edx, 1
jmp 0x454daa
push 0x6f
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x454db2
mov ecx, dword [ebp]
call fcn.00543010
test eax, eax
mov edx, 1
jne 0x454daa
mov edx, 4
mov ecx, dword [ebp]
call fcn.004973e0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x454dc1
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov al, byte [esp + 0x10]
test al, 1
je 0x454ddf
xor ecx, ecx
call fcn.00527d80
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x6c
ret 0x14
test al, 2
je 0x454dea
mov ecx, ebp
call fcn.00527d80
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x6c
ret 0x14