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

Disassembly:
sub esp, 0x6c
push ebp
mov ebp, edx
mov eax, dword [ebp + 4]
test eax, eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
jne 0x4571da
mov edx, dword [ebp]
push 0
push 0
xor ecx, ecx
call fcn.004803b0
pop ebp
add esp, 0x6c
ret 0x14
push ebx
xor eax, eax
push esi
push edi
mov ecx, 0x69
mov edi, 0x5f9140
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
mov eax, bind
mov esi, 1
mov dword [0x5f9140], eax
mov dword [0x5f9144], eax
mov dword [0x5f9148], eax
mov dword [0x5f914c], eax
mov dword [0x5f91b4], esi
mov dword [0x5f9168], 3
mov eax, dword [ebp + 4]
cmp byte [eax], 0x2d
mov ebx, esi
jne 0x457522
cmp byte [eax + 1], 0x74
je 0x457522
mov edi, eax
push 0x64
push edi
mov dword [esp + 0x1c], edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457258
mov dword [0x5f9150], esi
push 0x6f
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45726d
mov dword [0x5f9154], esi
push 0x73
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457282
mov dword [0x5f9158], esi
push 0x53
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457297
mov dword [0x5f915c], esi
push 0x65
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4572ac
mov dword [0x5f916c], esi
push 0x45
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4572c5
mov dword [0x5f916c], 2
push 0x42
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4572da
mov dword [0x5f9174], esi
push 0x6d
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4572ef
mov dword [0x5f9170], esi
push 0x76
push edi
call fcn.005912e0
add esp, 8
test eax, eax
mov bl, 0x30
je 0x457310
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, bl
setne cl
mov dword [0x5f91a4], ecx
push 0x7a
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45732f
mov cl, byte [eax + 1]
xor edx, edx
cmp cl, bl
setne dl
mov dword [0x5f91a8], edx
push 0x69
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457344
mov dword [0x5f91ac], esi
push 0x43
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457359
mov dword [0x5f9194], esi
push 0x6c
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45739f
lea ebx, [eax + 1]
mov dword [0x5f9178], esi
mov al, byte [ebx]
test al, al
je 0x45739f
movzx eax, al
push eax
call fcn.005920a7
add esp, 4
test eax, eax
je 0x45739f
push ebx
call fcn.0059164b
add esp, 4
cmp eax, esi
mov dword [0x5f917c], eax
jg 0x45739f
mov dword [0x5f917c], esi
push 0x48
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4573b4
mov dword [0x5f9184], esi
push 0x54
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4573c9
mov dword [0x5f9188], esi
push 0x6e
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457414
lea ebx, [eax + 1]
mov dword [0x5f9160], esi
mov al, byte [ebx]
test al, al
je 0x457414
movzx ecx, al
push ecx
call fcn.005920a7
add esp, 4
test eax, eax
je 0x457414
push ebx
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [0x5f9160], eax
jl 0x45740e
cmp eax, 2
jle 0x457414
mov dword [0x5f9168], esi
push 0x78
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457429
mov dword [0x5f9164], esi
push 0x68
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457444
xor eax, eax
mov dword [0x5f91b4], eax
mov dword [0x5f9168], eax
push 0x77
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45748d
lea ebx, [eax + 1]
mov al, byte [ebx]
test al, al
je 0x45748d
movzx edx, al
push edx
call fcn.005920a7
add esp, 4
test eax, eax
je 0x45748d
push ebx
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [0x5f9168], eax
jl 0x457483
cmp eax, 3
jle 0x45748d
mov dword [0x5f9168], 3
push 0x70
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4574b4
mov eax, dword [0x5f9178]
test eax, eax
je 0x4574ae
mov eax, dword [0x5f917c]
test eax, eax
je 0x4574b4
mov dword [0x5f918c], esi
push 0x61
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4574c9
mov dword [0x5f91a0], esi
push 0x6b
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4574e9
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, 0x31
setne cl
mov dword [0x5f919c], ecx
push 0x44
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4574fe
mov dword [0x5f91b0], esi
mov eax, dword [ebp + 8]
test eax, eax
mov ebx, 2
jne 0x457522
mov edx, dword [ebp]
push 0
push 0
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret 0x14
mov dword [0x5f91b8], 8
mov eax, 0x5f91bc
mov edx, dword [eax - 4]
add edx, 8
mov dword [eax], edx
add eax, 4
cmp eax, 0x5f9280
jl 0x457531
mov eax, dword [ebp + ebx*4]
push 2
push 0x5a75b8
push eax
call fcn.005a2a05
add esp, 0xc
test eax, eax
jne 0x4575f8
mov eax, dword [ebp + ebx*4]
mov cl, byte [eax + 2]
add eax, 2
test cl, cl
jne 0x457577
mov dword [esp + 0x1c], 1
jmp 0x4575eb
push 0x5a4f30
push eax
xor esi, esi
call fcn.00591e4f
add esp, 8
test eax, eax
je 0x4575d9
jmp 0x457590
push eax
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esi*4 + 0x5f91b8], eax
jle 0x4575d4
test esi, esi
jle 0x4575bb
mov ecx, dword [esi*4 + 0x5f91b4]
cmp eax, ecx
jg 0x4575bb
inc ecx
mov dword [esi*4 + 0x5f91b8], ecx
inc esi
cmp esi, 0x32
jge 0x4575eb
push 0x5a4f30
push 0
call fcn.00591e4f
add esp, 8
test eax, eax
jne 0x457590
cmp esi, 0x32
jge 0x4575eb
mov ecx, 0x32
sub ecx, esi
lea edi, [esi*4 + 0x5f91b8]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
test eax, eax
je 0x45750a
mov eax, dword [ebp + ebx*4]
cmp byte [eax], 0x2b
jne 0x45771b
push 0x74
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45761b
or dword [0x5f9190], 1
mov ecx, dword [ebp + ebx*4]
push 0x66
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457635
or dword [0x5f9190], 2
mov edx, dword [ebp + ebx*4]
push 0x6e
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45764f
or dword [0x5f9190], 4
mov eax, dword [ebp + ebx*4]
push 0x78
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457669
or dword [0x5f9190], 8
mov ecx, dword [ebp + ebx*4]
push 0x73
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457683
or dword [0x5f9190], 0x10
mov edx, dword [ebp + ebx*4]
push 0x62
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45769d
or dword [0x5f9190], 0x20
mov eax, dword [ebp + ebx*4]
push 0x6c
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4576b7
or dword [0x5f9190], 0x40
mov ecx, dword [ebp + ebx*4]
push 0x4c
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4576d4
or dword [0x5f9190], 0x80
mov edx, dword [ebp + ebx*4]
push 0x65
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4576f1
or dword [0x5f9190], 0x100
mov eax, dword [ebp + ebx*4]
push 0x64
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45770e
or dword [0x5f9190], 0x200
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
test eax, eax
je 0x45750a
cmp byte [eax], 0x22
mov esi, dword [esp + 0x84]
mov edi, ebx
mov dword [esp + 0x24], edi
jne 0x45776d
push 0
push 0x104
push esi
mov edx, ebx
mov ecx, ebp
call fcn.00504590
mov ebx, eax
test ebx, ebx
jl 0x457859
mov dl, 0x20
mov ecx, esi
call fcn.005379a0
cmp byte [esi], 0x40
jne 0x45775d
mov ecx, esi
call fcn.00537a90
mov edx, dword [ebp + edi*4]
mov ecx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x457763
mov edx, dword [ebp + edi*4]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457776
sub eax, esi
cmp eax, 0x5a
jbe 0x457787
mov byte [edx + 0x5a], cl
mov ecx, dword [ebp + edi*4]
cmp byte [ecx], 0x3d
jne 0x457871
mov al, byte [ecx + 1]
test al, al
je 0x457871
mov edi, dword [esp + 0x8c]
xor esi, esi
test edi, edi
je 0x4577e7
mov ecx, dword [edi + 0xc88]
call fcn.0042eb00
test eax, eax
je 0x4577e7
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + ecx*4]
mov eax, dword [edi + 0xc88]
inc edx
push edx
add eax, 0x3f0
push eax
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4577e7
mov esi, dword [edi + 0xc88]
test esi, esi
jne 0x457845
xor edi, edi
lea esp, [esp]
test esi, esi
jne 0x457845
mov esi, dword [0x5c81a0]
test esi, esi
je 0x45783b
mov edi, edi
cmp edi, 1
je 0x457814
mov ecx, dword [esp + 0x90]
cmp dword [esi + 0x88c], ecx
jne 0x457831
mov edx, dword [esp + 0x24]
mov eax, dword [ebp + edx*4]
inc eax
push eax
lea ecx, [esi + 0x3f0]
push ecx
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45783b
mov esi, dword [esi + 0x890]
test esi, esi
jne 0x457800
inc edi
cmp edi, 1
jle 0x4577f0
test esi, esi
je 0x457859
mov ecx, dword [esi]
call fcn.00561000
mov esi, eax
test esi, esi
mov dword [esp + 0x8c], esi
jne 0x4578c0
mov edx, dword [ebp]
push 3
push 0
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret 0x14
mov edx, 0x10
call fcn.00561110
mov ecx, eax
call fcn.00561000
mov esi, eax
test esi, esi
mov dword [esp + 0x8c], esi
jne 0x4578c0
mov edx, dword [esp + 0x90]
mov ecx, dword [ebp + edi*4]
call fcn.004f11f0
mov esi, eax
test esi, esi
mov dword [esp + 0x8c], esi
jne 0x4578c0
mov edi, dword [ebp + edi*4]
cmp byte [edi], 0x40
jne 0x457859
mov ecx, edi
call fcn.00561060
test eax, eax
jne 0x457859
mov eax, dword [esp + 0x1c]
inc ebx
test eax, eax
je 0x457997
test esi, esi
je 0x458765
cmp dword [esi + 0x71c], 9
jne 0x458765
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + ebx*4]
lea eax, [edx + ebx*4]
xor ebp, ebp
test ecx, ecx
je 0x45793a
mov ebx, dword [esp + 0x8c]
mov edi, eax
lea esi, [ebx + 0x794]
mov eax, dword [eax]
push eax
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esi], eax
jle 0x457935
test ebp, ebp
jle 0x457920
mov ecx, dword [esi - 4]
cmp eax, ecx
jg 0x457920
inc ecx
mov dword [esi], ecx
inc ebp
add esi, 4
cmp ebp, 0x32
jge 0x45795a
mov ecx, dword [edi + 4]
add edi, 4
test ecx, ecx
mov eax, edi
jne 0x457901
cmp ebp, 0x32
jge 0x45795a
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x8c]
lea edi, [ecx + ebp*4 + 0x794]
mov ecx, 0x32
sub ecx, ebp
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x88c]
test eax, eax
je 0x45797c
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [ebx + 0x88c]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, 1
mov ecx, ebx
call fcn.005613a0
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x6c
ret 0x14
mov ecx, dword [ebp + ebx*4]
test ecx, ecx
je 0x457a54
call fcn.005037f0
test eax, eax
je 0x457a54
mov ecx, dword [ebp + ebx*4 + 4]
test ecx, ecx
je 0x457a54
call fcn.005037f0
test eax, eax
je 0x457a54
mov eax, dword [ebp + ebx*4]
push eax
call fcn.0059164b
mov dword [0x5f9140], eax
mov ecx, dword [ebp + ebx*4 + 4]
push ecx
call fcn.0059164b
add ebx, 2
mov dword [0x5f9144], eax
mov ecx, dword [ebp + ebx*4]
add esp, 8
test ecx, ecx
je 0x457a54
call fcn.005037f0
test eax, eax
je 0x457a54
mov ecx, dword [ebp + ebx*4 + 4]
test ecx, ecx
je 0x457a54
call fcn.005037f0
test eax, eax
je 0x457a54
mov edx, dword [ebp + ebx*4]
push edx
call fcn.0059164b
mov dword [0x5f9148], eax
mov eax, dword [ebp + ebx*4 + 4]
push eax
call fcn.0059164b
mov dword [0x5f914c], eax
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x457a51
push 0x66
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457a51
mov dword [0x5f9198], 1
add ebx, 2
mov eax, dword [ebp + ebx*4]
test eax, eax
je 0x457a68
cmp byte [eax], 0x2f
jne 0x457a68
mov dword [esp + 0x2c], ebx
inc ebx
jmp 0x457a70
mov dword [esp + 0x2c], 0
cmp dword [ebp + ebx*4], 0
mov edi, dword [esp + 0x80]
mov dword [esp + 0x18], 0
je 0x457bbb
mov edx, dword [ebp + ebx*4 + 4]
test edx, edx
lea ecx, [ebp + ebx*4 + 4]
mov eax, ebx
je 0x457aa3
mov edx, dword [ecx + 4]
add ecx, 4
inc eax
test edx, edx
jne 0x457a98
cmp eax, ebx
mov dword [esp + 0x1c], eax
jl 0x457bbb
nop
mov ecx, dword [esp + 0x1c]
push ebp
mov edx, edi
mov byte [edi], 0
call fcn.005039a0
push 0x20
push edi
mov dword [esp + 0x30], 0
call fcn.00591bd0
mov esi, eax
add esp, 8
test esi, esi
je 0x457af4
lea ecx, [esi + 1]
call fcn.005037f0
test eax, eax
je 0x457af4
push esi
call fcn.0059164b
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esi], 0
cmp byte [edi], 0x22
jne 0x457b28
lea esi, [edi + 1]
push 0x22
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457b28
mov byte [eax], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457b13
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00592290
add esp, 0xc
mov edx, 0x5a73d8
mov ecx, edi
call fcn.00420250
test eax, eax
jne 0x457b58
mov edx, str..ico
mov ecx, edi
call fcn.00420250
test eax, eax
jne 0x457b58
mov edx, str..dll
mov ecx, edi
call fcn.00420250
test eax, eax
je 0x457b79
mov edx, edi
mov ecx, edi
call fcn.0041f5c0
test eax, eax
je 0x457859
mov edx, 1
mov ecx, edi
call fcn.00421f20
test eax, eax
jne 0x457b8c
mov eax, dword [esp + 0x1c]
dec eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
jge 0x457ab0
jmp 0x457bbb
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
push edx
mov dword [ebp + ecx*4], 0
mov eax, dword [0x5f92e8]
push edi
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconA]
cmp eax, 1
mov dword [esp + 0x18], eax
jne 0x457bbb
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x84]
mov byte [edi], 0
mov eax, dword [ebp + ebx*4]
test eax, eax
je 0x457c10
push 0x5a5748
push eax
call fcn.005a299c
add esp, 8
test eax, eax
je 0x457c0f
mov ecx, dword [ebp + ebx*4]
push 0x5a75a4
push ecx
call fcn.005a299c
add esp, 8
test eax, eax
je 0x457c0f
mov ecx, dword [ebp + ebx*4]
mov al, byte [ecx]
cmp al, 0x40
jne 0x457d0d
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x457c05
inc ebx
mov eax, dword [ebp + ebx*4]
test eax, eax
lea esi, [ebp + ebx*4]
je 0x457dba
mov edx, dword [esp + 0x80]
mov byte [edx], 0
cmp dword [esi], 0
je 0x457c9a
mov ebp, esi
mov ecx, dword [esi]
call fcn.005037f0
test eax, eax
jne 0x457c9a
mov eax, dword [esp + 0x80]
cmp byte [eax], 0
je 0x457c62
mov edi, eax
dec edi
jmp 0x457c50
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x457c50
mov cx, word [0x5a5348]
mov word [edi], cx
mov eax, dword [esi]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457c66
mov edi, dword [esp + 0x80]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x457c77
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebp, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
inc ebx
test eax, eax
mov esi, ebp
jne 0x457c31
mov esi, dword [esp + 0x80]
mov ecx, esi
call fcn.00537930
cmp byte [esi], 0
je 0x457dba
mov ebp, esi
mov edi, ebp
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x457cb6
mov dx, word [0x5a4f30]
mov eax, dword [esp + 0x20]
mov word [edi], dx
mov ebx, dword [eax + ebx*4]
test ebx, ebx
je 0x457d81
mov eax, ebx
mov edx, ebx
jmp 0x457ce0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457ce0
mov edi, ebp
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x457cf0
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 0x457d9f
cmp al, 0x22
je 0x457d35
push 0x2e
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x457c10
mov ecx, dword [ebp + ebx*4]
call fcn.00503910
test eax, eax
jne 0x457c10
push 0
push 0x104
push edi
mov edx, ebx
mov ecx, ebp
call fcn.00504590
mov esi, eax
test esi, esi
jl 0x457859
mov edx, edi
mov ecx, edi
call fcn.0041f5c0
test eax, eax
je 0x457859
mov edx, 1
mov ecx, edi
call fcn.00421f20
test eax, eax
je 0x457d79
lea ebx, [esi + 1]
jmp 0x457c10
mov byte [edi], 0
jmp 0x457c10
mov edi, ebp
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x457d84
mov cx, word [0x5a75a0]
mov word [edi], cx
mov dl, byte [0x5a75a2]
mov byte [edi + 2], dl
mov edx, 0x5f9280
mov byte [ebp + 0x5a], 0
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x457db0
mov ebp, dword [esp + 0x8c]
xor edi, edi
or esi, 0xffffffff
cmp ebp, edi
mov dword [esp + 0x1c], edi
jne 0x457e85
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x457ded
push 0x63
push eax
call fcn.005912e0
add esp, 8
test eax, eax
jne 0x458765
cmp dword [0x5f9140], esi
mov eax, bind
jne 0x457dff
mov dword [0x5f9140], eax
cmp dword [0x5f9144], esi
jne 0x457e0c
mov dword [0x5f9144], eax
cmp dword [0x5f9148], esi
jne 0x457e19
mov dword [0x5f9148], eax
cmp dword [0x5f914c], esi
jne 0x457e26
mov dword [0x5f914c], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x24]
push edi
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ecx*4]
push edi
push edi
mov edx, 9
call fcn.005677e0
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x457e5a
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x6c
ret 0x14
mov ecx, eax
call fcn.00561000
mov ebp, eax
cmp ebp, edi
je 0x457e4e
mov ecx, dword [esp + 0x88]
mov eax, 1
mov dword [ebp + 0x72c], eax
mov dword [ebp + 0x728], eax
mov dword [ebp + 0xb80], ecx
mov ecx, dword [ebp + 0xb80]
cmp ecx, edi
je 0x457e9e
call fcn.00419500
test eax, eax
jne 0x457e9e
mov dword [ebp + 0xb80], edi
cmp dword [ebp + 0x71c], 9
jne 0x457f9f
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x457f3d
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x80]
mov ecx, dword [edx + eax*4]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x457ec7
mov edi, ebx
mov byte [ebx + 0x5a], al
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x457ed7
mov ax, word [0x5a5348]
lea esi, [ebp + 0xb84]
mov word [edi], ax
cmp byte [esi], 0
je 0x457f01
push esi
push ebx
call fcn.005a299c
add esp, 8
test eax, eax
je 0x457f3d
mov edx, esi
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x457f07
mov edx, dword [ebp + 0x8b4]
mov ecx, dword [ebp + 0x884]
push esi
call fcn.0047e680
mov ecx, dword [ebp + 0x884]
push 0x7d000
push 0x7d000
mov edx, 1
call fcn.0047e370
mov ebx, dword [esp + 0x84]
cmp byte [ebx], 0
je 0x457f5a
push ebx
lea ecx, [ebp + 0xa78]
mov edx, 0x104
call fcn.00420d70
mov esi, dword [esp + 0x18]
test esi, esi
je 0x457fa6
mov eax, dword [ebp + 0xa10]
test eax, eax
je 0x457f73
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 + 0xa10], esi
mov dword [esp + 0x28], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x10], 1
jmp 0x457fa6
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x458072
push 0x67
push eax
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x458072
mov al, byte [edi + 1]
inc edi
test al, al
mov esi, 1
je 0x458001
movzx eax, al
push eax
call fcn.005920a7
add esp, 4
test eax, eax
je 0x458001
push edi
call fcn.0059164b
mov esi, eax
add esp, 4
test esi, esi
jg 0x457ff7
xor esi, esi
jmp 0x458001
cmp esi, 3
jle 0x458001
mov esi, 3
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_IsWindowVisible]
jne 0x458032
mov edx, dword [ebp]
push edx
call edi
test eax, eax
je 0x458032
mov eax, dword [ebp]
cmp eax, dword [0x5f92f8]
je 0x458072
mov dword [ebp + 0x724], esi
jmp 0x45806d
mov ecx, dword [ebp]
push ecx
mov dword [ebp + 0x724], esi
call edi
test eax, eax
je 0x45806d
mov eax, dword [ebp + 0x724]
test eax, eax
jne 0x458064
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 0x45806d
xor edx, edx
mov ecx, ebp
call fcn.00499aa0
or dword [esp + 0x10], 1
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x458733
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4582e4
push 0x63
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4580d5
mov eax, dword [ebp + 0x734]
test eax, eax
jne 0x458733
mov ecx, dword [ebp + 0x71c]
mov eax, 1
cmp ecx, eax
je 0x458733
push 0
push 0
mov dword [ebp + 0x734], eax
mov eax, dword [ebp]
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x458733
push 0x6b
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4581c2
cmp dword [ebp + 0x71c], 9
jne 0x4581c2
mov edx, dword [ebp]
mov ecx, dword [0x5f919c]
push 0x180
push ebx
push edx
mov dword [ebp + 0x760], ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push ebx
call fcn.005912e0
mov ecx, dword [ebp + 0x760]
mov ebx, dword [esp + 0x88]
add esp, 8
test ecx, ecx
mov esi, ebx
je 0x45816f
lea ecx, [ebp + 9]
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x458134
test eax, eax
je 0x458168
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x458144
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x458150
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 0x4581ad
lea ecx, [ebp + 8]
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x458174
test eax, eax
je 0x4581a8
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x458184
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x458190
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 0x62
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458200
cmp dword [ebp + 0x71c], 9
jne 0x458200
mov eax, dword [ebp + 0x88c]
test eax, eax
je 0x458200
mov ecx, dword [ebp]
mov edi, 1
push 0
mov edx, 0x8098
mov dword [ebp + 0xdd8], edi
call fcn.005625c0
jmp 0x458205
mov edi, 1
push 0x52
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458220
mov ecx, dword [ebp]
call fcn.0050f470
or dword [esp + 0x10], edi
push 0x68
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458245
mov eax, dword [esp + 0x10]
mov edx, dword [0x5f9168]
or eax, edi
mov dword [ebp + 0xa40], edx
mov dword [esp + 0x10], eax
push 0x77
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458263
mov eax, dword [0x5f9168]
mov dword [ebp + 0xa40], eax
or dword [esp + 0x10], edi
push 0x6e
push esi
call fcn.005912e0
add esp, 8
test eax, eax
jne 0x458281
push 0x68
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4582b4
push 0x68
push esi
call fcn.005912e0
mov ecx, dword [ebp]
add esp, 8
test eax, eax
je 0x4582a9
call fcn.005613e0
test eax, eax
mov ecx, dword [ebp]
jne 0x4582a9
push eax
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4582b0
mov edx, edi
call fcn.0049a770
or dword [esp + 0x10], edi
push 0x78
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4582e4
push 0x61
push esi
call fcn.005912e0
mov ecx, dword [ebp]
add esp, 8
test eax, eax
mov edx, 3
jne 0x4582df
mov edx, 6
call fcn.0049a4f0
mov edx, dword [ebp]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x45846a
mov eax, dword [ebp]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x45846a
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp]
call fcn.005613e0
test eax, eax
je 0x458339
mov ecx, dword [0x5f92f0]
push 2
lea eax, [esp + 0x34]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [0x5f9140]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x30]
jne 0x458350
mov edx, esi
mov dword [0x5f9140], edx
cmp dword [0x5f9144], 0xffffffff
mov edi, dword [esp + 0x34]
jne 0x458363
mov dword [0x5f9144], edi
mov ecx, dword [0x5f9148]
cmp ecx, 0xffffffff
jne 0x458379
mov ecx, bind
mov dword [0x5f9148], ecx
mov eax, dword [0x5f914c]
cmp eax, 0xffffffff
jne 0x45838d
mov eax, bind
mov dword [0x5f914c], eax
cmp edx, 0x80000000
je 0x45861b
cmp ecx, 0x80000000
jne 0x4583ad
mov edx, dword [esp + 0x38]
sub edx, esi
mov dword [0x5f9148], edx
cmp eax, 0x80000000
jne 0x4583bf
mov eax, dword [esp + 0x3c]
sub eax, edi
mov dword [0x5f914c], eax
mov ecx, dword [ebp]
call fcn.005613e0
test eax, eax
jne 0x4583e0
mov ecx, dword [0x5f92ec]
push 0x5f9144
mov edx, 0x5f9140
call fcn.004f0a60
mov eax, dword [esp + 0x14]
test eax, eax
je 0x45843f
push 0x66
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45843f
mov ecx, dword [ebp]
push 0
lea edx, [esp + 0x34]
call fcn.00562fa0
mov ecx, dword [ebp]
lea edx, [esp + 0x40]
call fcn.005630d0
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
mov edx, dword [0x5f9148]
mov eax, dword [0x5f914c]
sub ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [0x5f9148], edx
mov edx, dword [esp + 0x4c]
sub edx, ecx
add eax, edx
mov dword [0x5f914c], eax
mov eax, dword [0x5f914c]
mov ecx, dword [0x5f9148]
mov edx, dword [0x5f9144]
push 1
push eax
mov eax, dword [0x5f9140]
push ecx
mov ecx, dword [ebp]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x45861b
lea edx, [esp + 0x50]
mov dword [esp + 0x50], 0x2c
mov eax, dword [ebp]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov edx, dword [0x5f9140]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x6c]
jne 0x458498
mov edx, esi
mov dword [0x5f9140], edx
cmp dword [0x5f9144], 0xffffffff
mov edi, dword [esp + 0x70]
jne 0x4584ab
mov dword [0x5f9144], edi
mov ecx, dword [0x5f9148]
cmp ecx, 0xffffffff
jne 0x4584c1
mov ecx, bind
mov dword [0x5f9148], ecx
mov eax, dword [0x5f914c]
cmp eax, 0xffffffff
jne 0x4584d5
mov eax, bind
mov dword [0x5f914c], eax
cmp edx, 0x80000000
je 0x4585ef
cmp ecx, 0x80000000
jne 0x4584f5
mov ecx, dword [esp + 0x74]
sub ecx, esi
mov dword [0x5f9148], ecx
cmp eax, 0x80000000
jne 0x458508
mov edx, dword [esp + 0x78]
sub edx, edi
mov dword [0x5f914c], edx
mov ecx, dword [ebp]
call fcn.005613e0
test eax, eax
jne 0x458529
mov ecx, dword [0x5f92ec]
push 0x5f9144
mov edx, 0x5f9140
call fcn.004f0a60
mov esi, dword [esp + 0x14]
test esi, esi
je 0x458588
push 0x66
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458588
mov ecx, dword [ebp]
push 0
lea edx, [esp + 0x34]
call fcn.00562fa0
mov ecx, dword [ebp]
lea edx, [esp + 0x40]
call fcn.005630d0
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov edi, dword [0x5f9148]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
sub eax, ebx
add edi, eax
mov eax, dword [0x5f914c]
sub ecx, edx
add eax, ecx
mov dword [0x5f9148], edi
mov dword [0x5f914c], eax
mov eax, dword [0x5f9140]
mov edx, dword [0x5f9148]
mov ecx, dword [0x5f9144]
add edx, eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x5f914c]
add eax, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xa6c]
test eax, eax
jne 0x4585de
mov ecx, dword [ebp]
call fcn.005613e0
test eax, eax
je 0x4585de
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4585de
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 0x4585f3
mov esi, dword [esp + 0x14]
test esi, esi
je 0x458733
mov ecx, dword [esp + 0x14]
push 0x72
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45861b
mov ecx, dword [ebp]
mov edx, 8
call fcn.0049a4f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x458733
mov esi, eax
push 0x6f
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45863f
mov edx, 1
jmp 0x458650
push 0x75
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458658
xor edx, edx
mov ecx, dword [ebp]
call fcn.00561400
push 0x76
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458673
mov edx, dword [0x5f91a4]
mov dword [ebp + 0xbec], edx
push 0x7a
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4586f0
mov eax, dword [ebp + 0x71c]
test eax, eax
je 0x4586f0
mov eax, dword [ebp + 0xa48]
test eax, eax
mov ecx, dword [0x5f91a8]
je 0x4586c7
test ecx, ecx
jne 0x4586c3
mov dword [ebp + 0xa48], ecx
mov ecx, dword [0x5f92e4]
call fcn.00531ff0
mov dword [0x5f92e4], eax
mov eax, dword [esp + 0x10]
or eax, 1
jmp 0x4586ec
test eax, eax
jne 0x4586f0
test ecx, ecx
je 0x4586f0
mov edi, 1
mov dword [ebp + 0xa48], edi
mov ecx, dword [0x5f92e4]
call fcn.00531ff0
mov dword [0x5f92e4], eax
mov eax, dword [esp + 0x10]
or eax, edi
mov dword [esp + 0x10], eax
push 0x61
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458706
mov edx, 1
jmp 0x45872b
push 0x6f
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x458733
mov ecx, dword [ebp]
call fcn.005613e0
test eax, eax
mov edx, 1
jne 0x45872b
mov edx, 4
mov ecx, dword [ebp]
call fcn.0049a4f0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x458742
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov al, byte [esp + 0x10]
test al, 1
je 0x45874e
xor ecx, ecx
jmp 0x458754
test al, 2
je 0x458759
mov ecx, ebp
call fcn.0053b590
mov edx, 1
mov ecx, ebp
call fcn.0054f400
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x6c
ret 0x14