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

Disassembly:
sub esp, 0x6c
push ebp
mov ebp, dword [esp + 0x78]
mov eax, dword [ebp + 4]
test eax, eax
jne 0x45f196
mov eax, dword [ebp]
push 0
push 0
push eax
push 0
call fcn.0048a440
add esp, 0x10
pop ebp
add esp, 0x6c
ret
push ebx
xor eax, eax
push esi
push edi
mov ecx, 0x69
mov edi, 0x645178
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov eax, connect
mov esi, 1
mov dword [0x645178], eax
mov dword [0x64517c], eax
mov dword [0x645180], eax
mov dword [0x645184], eax
mov dword [0x6451ec], esi
mov dword [0x6451a0], 3
mov eax, dword [ebp + 4]
cmp byte [eax], 0x2d
mov ebx, esi
jne 0x45f4e0
cmp byte [eax + 1], 0x74
je 0x45f4e0
mov edi, eax
push 0x64
push edi
mov dword [esp + 0x1c], edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f214
mov dword [0x645188], esi
push 0x6f
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f229
mov dword [0x64518c], esi
push 0x73
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f23e
mov dword [0x645190], esi
push 0x53
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f253
mov dword [0x645194], esi
push 0x65
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f268
mov dword [0x6451a4], esi
push 0x45
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f281
mov dword [0x6451a4], 2
push 0x42
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f296
mov dword [0x6451ac], esi
push 0x6d
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f2ab
mov dword [0x6451a8], esi
push 0x76
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
mov bl, 0x30
je 0x45f2cc
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, bl
setne cl
mov dword [0x6451dc], ecx
push 0x7a
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f2eb
mov cl, byte [eax + 1]
xor edx, edx
cmp cl, bl
setne dl
mov dword [0x6451e0], edx
push 0x69
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f300
mov dword [0x6451e4], esi
push 0x43
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f315
mov dword [0x6451cc], esi
push 0x6c
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f35b
lea ebx, [eax + 1]
mov dword [0x6451b0], esi
mov al, byte [ebx]
test al, al
je 0x45f35b
movzx eax, al
push eax
call fcn.005cd445
add esp, 4
test eax, eax
je 0x45f35b
push ebx
call fcn.005cbe51
add esp, 4
cmp eax, esi
mov dword [0x6451b4], eax
jg 0x45f35b
mov dword [0x6451b4], esi
push 0x48
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f370
mov dword [0x6451bc], esi
push 0x54
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f385
mov dword [0x6451c0], esi
push 0x6e
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f3d0
lea ebx, [eax + 1]
mov dword [0x645198], esi
mov al, byte [ebx]
test al, al
je 0x45f3d0
movzx ecx, al
push ecx
call fcn.005cd445
add esp, 4
test eax, eax
je 0x45f3d0
push ebx
call fcn.005cbe51
add esp, 4
test eax, eax
mov dword [0x645198], eax
jl 0x45f3ca
cmp eax, 2
jle 0x45f3d0
mov dword [0x645198], esi
push 0x78
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f3e5
mov dword [0x64519c], esi
push 0x68
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f400
xor eax, eax
mov dword [0x6451ec], eax
mov dword [0x6451a0], eax
push 0x77
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f449
lea ebx, [eax + 1]
mov al, byte [ebx]
test al, al
je 0x45f449
movzx edx, al
push edx
call fcn.005cd445
add esp, 4
test eax, eax
je 0x45f449
push ebx
call fcn.005cbe51
add esp, 4
test eax, eax
mov dword [0x6451a0], eax
jl 0x45f43f
cmp eax, 3
jle 0x45f449
mov dword [0x6451a0], 3
push 0x70
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f470
mov eax, dword [0x6451b0]
test eax, eax
je 0x45f46a
mov eax, dword [0x6451b4]
test eax, eax
je 0x45f470
mov dword [0x6451c4], esi
push 0x61
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f485
mov dword [0x6451d8], esi
push 0x6b
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f4a5
mov dl, byte [eax + 1]
xor ecx, ecx
cmp dl, 0x31
setne cl
mov dword [0x6451d4], ecx
push 0x44
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f4ba
mov dword [0x6451e8], esi
mov eax, dword [ebp + 8]
test eax, eax
mov ebx, 2
jne 0x45f4e0
push 0
mov edx, dword [ebp]
push 0
push edx
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret
mov dword [0x6451f0], 8
mov eax, 0x6451f4
nop
mov ecx, dword [eax - 4]
add ecx, 8
mov dword [eax], ecx
add eax, 4
cmp eax, 0x6452b8
jl 0x45f4f0
mov edx, dword [ebp + ebx*4]
push 2
push 0x5e9cb0
push edx
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x45f5ce
mov eax, dword [ebp + ebx*4]
mov cl, byte [eax + 2]
add eax, 2
test cl, cl
jne 0x45f536
mov dword [esp + 0x20], 1
jmp 0x45f5ab
push 0x5e701c
push eax
xor esi, esi
call fcn.005cd1ed
add esp, 8
test eax, eax
je 0x45f599
lea ebx, [ebx]
push eax
call fcn.005cbe51
add esp, 4
test eax, eax
mov dword [esi*4 + 0x6451f0], eax
jle 0x45f594
test esi, esi
jle 0x45f57b
mov ecx, dword [esi*4 + 0x6451ec]
cmp eax, ecx
jg 0x45f57b
inc ecx
mov dword [esi*4 + 0x6451f0], ecx
inc esi
cmp esi, 0x32
jge 0x45f5ab
push 0x5e701c
push 0
call fcn.005cd1ed
add esp, 8
test eax, eax
jne 0x45f550
cmp esi, 0x32
jge 0x45f5ab
mov ecx, 0x32
sub ecx, esi
lea edi, [esi*4 + 0x6451f0]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
test eax, eax
jne 0x45f5ce
mov eax, dword [ebp]
push 0
push 0
push eax
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret
mov eax, dword [ebp + ebx*4]
cmp byte [eax], 0x2b
jne 0x45f704
push 0x74
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f5f1
or dword [0x6451c8], 1
mov ecx, dword [ebp + ebx*4]
push 0x66
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f60b
or dword [0x6451c8], 2
mov edx, dword [ebp + ebx*4]
push 0x6e
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f625
or dword [0x6451c8], 4
mov eax, dword [ebp + ebx*4]
push 0x78
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f63f
or dword [0x6451c8], 8
mov ecx, dword [ebp + ebx*4]
push 0x73
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f659
or dword [0x6451c8], 0x10
mov edx, dword [ebp + ebx*4]
push 0x62
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f673
or dword [0x6451c8], 0x20
mov eax, dword [ebp + ebx*4]
push 0x6c
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f68d
or dword [0x6451c8], 0x40
mov ecx, dword [ebp + ebx*4]
push 0x4c
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f6aa
or dword [0x6451c8], 0x80
mov edx, dword [ebp + ebx*4]
push 0x65
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f6c7
or dword [0x6451c8], 0x100
mov eax, dword [ebp + ebx*4]
push 0x64
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45f6e4
or dword [0x6451c8], 0x200
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
test eax, eax
jne 0x45f704
mov ecx, dword [ebp]
push eax
push eax
push ecx
push eax
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret
cmp byte [eax], 0x22
mov esi, dword [esp + 0x8c]
mov edi, ebx
mov dword [esp + 0x24], edi
jne 0x45f75c
push 0
push 0x104
push esi
push ebx
push ebp
call fcn.005165a0
mov ebx, eax
add esp, 0x14
test ebx, ebx
jl 0x45fd83
push 0x20
push esi
call fcn.00552010
mov al, byte [esi]
add esp, 8
cmp al, 0x40
jne 0x45f74c
push esi
call fcn.00552160
add esp, 4
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 0x45f752
mov edx, dword [ebp + edi*4]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f765
sub eax, esi
cmp eax, 0x5a
jbe 0x45f776
mov byte [edx + 0x5a], cl
mov eax, dword [ebp + edi*4]
cmp byte [eax], 0x3d
jne 0x45f868
mov cl, byte [eax + 1]
test cl, cl
je 0x45f868
mov edi, dword [esp + 0x94]
xor esi, esi
test edi, edi
je 0x45f7da
mov eax, dword [edi + 0xc88]
push eax
call fcn.00434440
add esp, 4
test eax, eax
je 0x45f7da
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.005e31f5
add esp, 8
test eax, eax
jne 0x45f7da
mov esi, dword [edi + 0xc88]
test esi, esi
jne 0x45f839
xor edi, edi
lea esp, [esp]
test esi, esi
jne 0x45f839
mov esi, dword [0x611900]
test esi, esi
je 0x45f82b
mov edi, edi
cmp edi, 1
je 0x45f804
mov ecx, dword [esp + 0x98]
cmp dword [esi + 0x88c], ecx
jne 0x45f821
mov edx, dword [esp + 0x24]
mov eax, dword [ebp + edx*4]
inc eax
push eax
lea ecx, [esi + 0x3f0]
push ecx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x45f82b
mov esi, dword [esi + 0x890]
test esi, esi
jne 0x45f7f0
inc edi
cmp edi, 1
jle 0x45f7e0
test esi, esi
je 0x45fd83
mov eax, dword [esi]
push eax
call fcn.005827d0
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x18], esi
jne 0x45f8bc
mov ecx, dword [ebp]
push 3
push 0
push ecx
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x6c
ret
push 0x10
push eax
call fcn.005828e0
push eax
call fcn.005827d0
mov esi, eax
add esp, 0xc
test esi, esi
mov dword [esp + 0x18], esi
jne 0x45f8bc
mov edx, dword [esp + 0x98]
mov eax, dword [ebp + edi*4]
push edx
push eax
call fcn.00503170
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x18], esi
jne 0x45f8bc
mov edi, dword [ebp + edi*4]
cmp byte [edi], 0x40
jne 0x45f84e
push edi
call fcn.00582830
add esp, 4
test eax, eax
jne 0x45fd83
mov eax, dword [esp + 0x20]
inc ebx
test eax, eax
je 0x45f98b
test esi, esi
je 0x4607fe
cmp dword [esi + 0x71c], 9
jne 0x4607fe
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
xor ebp, ebp
test ecx, ecx
je 0x45f939
mov ebx, dword [esp + 0x18]
mov edi, eax
lea esi, [ebx + 0x794]
lea ecx, [ecx]
mov ecx, dword [eax]
push ecx
call fcn.005cbe51
add esp, 4
test eax, eax
mov dword [esi], eax
jle 0x45f934
test ebp, ebp
jle 0x45f91f
mov ecx, dword [esi - 4]
cmp eax, ecx
jg 0x45f91f
inc ecx
mov dword [esi], ecx
inc ebp
add esi, 4
cmp ebp, 0x32
jge 0x45f951
mov ecx, dword [edi + 4]
add edi, 4
test ecx, ecx
mov eax, edi
jne 0x45f900
cmp ebp, 0x32
jge 0x45f951
mov edx, dword [esp + 0x18]
mov ecx, 0x32
sub ecx, ebp
lea edi, [edx + ebp*4 + 0x794]
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, edx
mov eax, dword [ebx + 0x88c]
test eax, eax
je 0x45f973
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebx + 0x88c]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 1
push ebx
call fcn.00582bc0
add esp, 8
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x6c
ret
mov eax, dword [ebp + ebx*4]
test eax, eax
je 0x45fa58
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x45fa58
mov eax, dword [ebp + ebx*4 + 4]
test eax, eax
je 0x45fa58
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x45fa58
mov ecx, dword [ebp + ebx*4]
push ecx
call fcn.005cbe51
mov dword [0x645178], eax
mov edx, dword [ebp + ebx*4 + 4]
push edx
call fcn.005cbe51
add ebx, 2
mov dword [0x64517c], eax
mov eax, dword [ebp + ebx*4]
add esp, 8
test eax, eax
je 0x45fa58
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x45fa58
mov eax, dword [ebp + ebx*4 + 4]
test eax, eax
je 0x45fa58
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x45fa58
mov eax, dword [ebp + ebx*4]
push eax
call fcn.005cbe51
mov dword [0x645180], eax
mov ecx, dword [ebp + ebx*4 + 4]
push ecx
call fcn.005cbe51
mov dword [0x645184], eax
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x45fa55
push 0x66
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45fa55
mov dword [0x6451d0], 1
add ebx, 2
mov eax, dword [ebp + ebx*4]
test eax, eax
je 0x45fa75
mov al, byte [eax]
cmp al, 0x2f
je 0x45fa6e
cmp al, byte [0x609e0c]
jne 0x45fa75
mov dword [esp + 0x2c], ebx
inc ebx
jmp 0x45fa7d
mov dword [esp + 0x2c], 0
cmp dword [ebp + ebx*4], 0
mov edi, dword [esp + 0x88]
mov dword [esp + 0x1c], 0
je 0x45fbd6
mov edx, dword [ebp + ebx*4 + 4]
test edx, edx
lea ecx, [ebp + ebx*4 + 4]
mov eax, ebx
je 0x45fab0
mov edx, dword [ecx + 4]
add ecx, 4
inc eax
test edx, edx
jne 0x45faa5
cmp eax, ebx
mov dword [esp + 0x20], eax
jl 0x45fbd6
lea esp, [esp]
mov edx, dword [esp + 0x20]
push ebp
push edi
push edx
mov byte [edi], 0
call fcn.00515990
push 0x20
push edi
mov dword [esp + 0x3c], 0
call fcn.005ccc30
mov esi, eax
add esp, 0x14
test esi, esi
je 0x45fb08
lea eax, [esi + 1]
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x45fb08
push esi
call fcn.005cbe51
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esi], 0
cmp byte [edi], 0x22
jne 0x45fb3c
lea esi, [edi + 1]
push 0x22
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45fb3c
mov byte [eax], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fb27
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.005cceb0
add esp, 0xc
push 0x5e9ad0
push edi
call fcn.00422d80
add esp, 8
test eax, eax
jne 0x45fb72
push str..ico
push edi
call fcn.00422d80
add esp, 8
test eax, eax
jne 0x45fb72
push str..dll
push edi
call fcn.00422d80
add esp, 8
test eax, eax
je 0x45fb93
push edi
push edi
call fcn.004222b0
add esp, 8
test eax, eax
je 0x45f84e
push 1
push edi
call fcn.00425b60
add esp, 8
test eax, eax
jne 0x45fba6
mov eax, dword [esp + 0x20]
dec eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jge 0x45fac0
jmp 0x45fbd6
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push eax
mov dword [ebp + edx*4], 0
mov ecx, dword [0x645320]
push edi
push ecx
call dword [sym.imp.SHELL32.dll_ExtractIconA]
cmp eax, 1
mov dword [esp + 0x1c], eax
jne 0x45fbd6
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x8c]
mov byte [edi], 0
mov eax, dword [ebp + ebx*4]
test eax, eax
je 0x45fc2b
push 0x5e7818
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x45fc2a
mov edx, dword [ebp + ebx*4]
push 0x5e9c9c
push edx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x45fc2a
mov ecx, dword [ebp + ebx*4]
mov al, byte [ecx]
cmp al, 0x40
jne 0x45fd2d
mov edx, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x45fc20
inc ebx
mov eax, dword [ebp + ebx*4]
test eax, eax
lea esi, [ebp + ebx*4]
je 0x45fde1
mov eax, dword [esp + 0x88]
mov byte [eax], 0
cmp dword [esi], 0
je 0x45fcb9
mov ebp, esi
lea esp, [esp]
mov ecx, dword [esi]
push ecx
call fcn.005157e0
add esp, 4
test eax, eax
jne 0x45fcb9
mov edx, dword [esp + 0x88]
cmp byte [edx], 0
je 0x45fc81
mov edi, edx
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45fc70
mov ax, word [0x5e7420]
mov word [edi], ax
mov eax, dword [esi]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fc85
mov edi, dword [esp + 0x88]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45fc96
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 0x45fc50
mov esi, dword [esp + 0x88]
push esi
call fcn.00551fa0
mov al, byte [esi]
add esp, 4
test al, al
je 0x45fde1
mov ebp, esi
mov edi, ebp
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45fcd8
mov cx, word [0x5e701c]
mov edx, dword [esp + 0x84]
mov word [edi], cx
mov ebx, dword [edx + ebx*4]
test ebx, ebx
je 0x45fda9
mov eax, ebx
mov edx, ebx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fd00
mov edi, ebp
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45fd10
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 0x45fdca
cmp al, 0x22
je 0x45fd59
push 0x2e
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x45fc2b
mov eax, dword [ebp + ebx*4]
push eax
call fcn.00515900
add esp, 4
test eax, eax
jne 0x45fc2b
push 0
push 0x104
push edi
push ebx
push ebp
call fcn.005165a0
mov esi, eax
add esp, 0x14
test esi, esi
jl 0x45f84e
push edi
push edi
call fcn.004222b0
add esp, 8
test eax, eax
jne 0x45fd8a
push 3
jmp 0x45f4c8
push 1
push edi
call fcn.00425b60
add esp, 8
test eax, eax
je 0x45fda1
lea ebx, [esi + 1]
jmp 0x45fc2b
mov byte [edi], 0
jmp 0x45fc2b
mov edi, ebp
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45fdb0
mov ax, word [0x5e9c98]
mov word [edi], ax
mov cl, byte [0x5e9c9a]
mov byte [edi + 2], cl
mov edx, 0x6452b8
mov byte [ebp + 0x5a], 0
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45fdd7
mov ebp, dword [esp + 0x18]
xor edi, edi
or esi, 0xffffffff
cmp ebp, edi
mov dword [esp + 0x80], edi
jne 0x45feb3
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x45fe14
push 0x63
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4607fe
cmp dword [0x645178], esi
mov eax, connect
jne 0x45fe26
mov dword [0x645178], eax
cmp dword [0x64517c], esi
jne 0x45fe33
mov dword [0x64517c], eax
cmp dword [0x645180], esi
jne 0x45fe40
mov dword [0x645180], eax
cmp dword [0x645184], esi
jne 0x45fe4d
mov dword [0x645184], eax
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x84]
push edi
push edx
mov edx, dword [ecx + eax*4]
push edi
push edi
push 9
push edx
call fcn.005899d0
add esp, 0x18
cmp eax, edi
mov dword [esp + 0x80], eax
jne 0x45fe86
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x6c
ret
push eax
call fcn.005827d0
mov ebp, eax
add esp, 4
cmp ebp, edi
je 0x45fe7c
mov eax, 1
mov dword [ebp + 0x72c], eax
mov dword [ebp + 0x728], eax
mov eax, dword [esp + 0x90]
mov dword [ebp + 0xb8c], eax
mov eax, dword [ebp + 0xb8c]
cmp eax, edi
je 0x45fed0
push eax
call fcn.0041ba20
add esp, 4
test eax, eax
jne 0x45fed0
mov dword [ebp + 0xb8c], edi
cmp dword [ebp + 0x71c], 9
jne 0x45ffe0
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x45ff7a
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x45ff00
mov edi, ebx
mov byte [ebx + 0x5a], al
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45ff10
mov dx, word [0x5e7420]
lea esi, [ebp + 0xb90]
mov word [edi], dx
cmp byte [esi], 0
je 0x45ff3b
push esi
push ebx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x45ff7a
mov edx, esi
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45ff41
mov eax, dword [ebp + 0x8b0]
mov ecx, dword [ebp + 0x884]
push esi
push eax
push ecx
call fcn.004889d0
mov edx, dword [ebp + 0x884]
push 0x7d000
push 0x7d000
push 1
push edx
call fcn.00488690
add esp, 0x1c
mov ebx, dword [esp + 0x8c]
cmp byte [ebx], 0
je 0x45ff9b
push ebx
lea eax, [ebp + 0xa84]
push 0x104
push eax
call fcn.00423900
add esp, 0xc
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x45ffe7
mov eax, dword [ebp + 0xa0c]
test eax, eax
je 0x45ffb4
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 + 0xa0c], esi
mov dword [esp + 0x2c], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x10], 1
jmp 0x45ffe7
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x14]
test esi, esi
je 0x460092
push 0x67
push esi
call fcn.005cbf10
mov edi, eax
add esp, 8
test edi, edi
je 0x460092
mov al, byte [edi + 1]
inc edi
test al, al
mov esi, 1
je 0x460042
movzx eax, al
push eax
call fcn.005cd445
add esp, 4
test eax, eax
je 0x460042
push edi
call fcn.005cbe51
mov esi, eax
add esp, 4
test esi, esi
jg 0x460038
xor esi, esi
jmp 0x460042
cmp esi, 3
jle 0x460042
mov esi, 3
mov ecx, dword [ebp]
push ecx
call fcn.0058a890
add esp, 4
test eax, eax
je 0x460063
mov eax, dword [esp + 0x10]
or eax, 1
mov dword [ebp + 0x724], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x724]
test eax, eax
je 0x460078
push ebp
call fcn.00584a30
add esp, 4
jmp 0x46008e
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]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x4607cb
push 0
push ebp
call fcn.00572530
add esp, 8
test esi, esi
je 0x46033c
push 0x63
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4600ff
mov eax, dword [ebp + 0x734]
test eax, eax
jne 0x4607cb
mov ecx, dword [ebp + 0x71c]
mov eax, 1
cmp ecx, eax
je 0x4607cb
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 0x4607cb
push 0x6b
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4601f2
cmp dword [ebp + 0x71c], 9
jne 0x4601f2
mov edx, dword [ebp]
mov ecx, dword [0x6451d4]
push 0x180
push ebx
push edx
mov dword [ebp + 0x75c], ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push ebx
call fcn.005cbf10
mov ecx, dword [ebp + 0x75c]
mov ebx, dword [esp + 0x90]
add esp, 8
test ecx, ecx
mov esi, ebx
je 0x46019f
lea ecx, [ebp + 9]
sub esi, ecx
mov edi, edi
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x460160
test eax, eax
je 0x460198
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x460170
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x460180
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 0x4601dd
lea ecx, [ebp + 8]
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x4601a4
test eax, eax
je 0x4601d8
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4601b4
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4601c0
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.005cbf10
add esp, 8
test eax, eax
je 0x460234
cmp dword [ebp + 0x71c], 9
jne 0x460234
mov eax, dword [ebp + 0x88c]
test eax, eax
je 0x460234
mov edx, dword [ebp]
push 0
push 0x8098
mov edi, 1
push edx
mov dword [ebp + 0xde8], edi
call fcn.005841b0
add esp, 0xc
jmp 0x460239
mov edi, 1
push 0x52
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x46025e
mov eax, dword [ebp]
push eax
call fcn.00521f10
mov eax, dword [esp + 0x14]
add esp, 4
or eax, edi
mov dword [esp + 0x10], eax
push 0x68
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460283
mov eax, dword [esp + 0x10]
mov ecx, dword [0x6451a0]
or eax, edi
mov dword [ebp + 0xa3c], ecx
mov dword [esp + 0x10], eax
push 0x77
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4602a8
mov eax, dword [esp + 0x10]
mov edx, dword [0x6451a0]
or eax, edi
mov dword [ebp + 0xa3c], edx
mov dword [esp + 0x10], eax
push 0x6e
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4602c6
push 0x68
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460308
push 0x68
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
mov eax, dword [ebp]
je 0x4602fa
push eax
call fcn.00582c10
add esp, 4
test eax, eax
je 0x4602ec
mov ecx, dword [ebp]
push edi
push ecx
jmp 0x4602fc
mov edx, dword [ebp]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x460304
push edi
push eax
call fcn.004a5ab0
add esp, 8
or dword [esp + 0x10], edi
push 0x78
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x46033c
push 0x61
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x46032e
mov ecx, dword [ebp]
push 3
push ecx
jmp 0x460334
mov edx, dword [ebp]
push 6
push edx
call fcn.004a57d0
add esp, 8
mov eax, dword [ebp]
mov ebx, dword [sym.imp.USER32.dll_IsIconic]
push eax
call ebx
test eax, eax
jne 0x4604d8
mov ecx, dword [ebp]
push ecx
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x4604d8
mov eax, dword [ebp]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp]
push ecx
call fcn.00582c10
add esp, 4
test eax, eax
je 0x460396
mov eax, dword [0x645328]
push 2
lea edx, [esp + 0x34]
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [0x645178]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x30]
jne 0x4603ad
mov edx, esi
mov dword [0x645178], edx
cmp dword [0x64517c], 0xffffffff
mov edi, dword [esp + 0x34]
jne 0x4603c0
mov dword [0x64517c], edi
mov ecx, dword [0x645180]
cmp ecx, 0xffffffff
jne 0x4603d6
mov ecx, connect
mov dword [0x645180], ecx
mov eax, dword [0x645184]
cmp eax, 0xffffffff
jne 0x4603ea
mov eax, connect
mov dword [0x645184], eax
cmp edx, 0x80000000
je 0x4606a6
cmp ecx, 0x80000000
jne 0x46040a
mov ecx, dword [esp + 0x38]
sub ecx, esi
mov dword [0x645180], ecx
cmp eax, 0x80000000
jne 0x46041d
mov edx, dword [esp + 0x3c]
sub edx, edi
mov dword [0x645184], edx
mov eax, dword [ebp]
push eax
call fcn.00582c10
add esp, 4
test eax, eax
jne 0x460446
mov ecx, dword [0x645324]
push 0x64517c
push 0x645178
push ecx
call fcn.005029d0
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4604ac
push 0x66
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4604ac
mov eax, dword [ebp]
push 0
lea edx, [esp + 0x34]
push edx
push eax
call fcn.00584d10
mov edx, dword [ebp]
lea ecx, [esp + 0x4c]
push ecx
push edx
call fcn.00584e40
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
mov esi, dword [0x645180]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
sub eax, edi
add esi, eax
mov eax, dword [0x645184]
sub ecx, edx
add esp, 0x14
add eax, ecx
mov dword [0x645180], esi
mov dword [0x645184], eax
mov edx, dword [0x645184]
mov eax, dword [0x645180]
mov ecx, dword [0x64517c]
push 1
push edx
mov edx, dword [0x645178]
push eax
mov eax, dword [ebp]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x4606a6
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
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 [0x645178]
cmp edx, 0xffffffff
mov esi, dword [esp + 0x6c]
jne 0x460513
mov edx, esi
mov dword [0x645178], edx
cmp dword [0x64517c], 0xffffffff
mov edi, dword [esp + 0x70]
jne 0x460526
mov dword [0x64517c], edi
mov ecx, dword [0x645180]
cmp ecx, 0xffffffff
jne 0x46053c
mov ecx, connect
mov dword [0x645180], ecx
mov eax, dword [0x645184]
cmp eax, 0xffffffff
jne 0x460550
mov eax, connect
mov dword [0x645184], eax
cmp edx, 0x80000000
je 0x460679
cmp ecx, 0x80000000
jne 0x460570
mov ecx, dword [esp + 0x74]
sub ecx, esi
mov dword [0x645180], ecx
cmp eax, 0x80000000
jne 0x460583
mov edx, dword [esp + 0x78]
sub edx, edi
mov dword [0x645184], edx
mov eax, dword [ebp]
push eax
call fcn.00582c10
add esp, 4
test eax, eax
jne 0x4605ac
mov ecx, dword [0x645324]
push 0x64517c
push 0x645178
push ecx
call fcn.005029d0
add esp, 0xc
mov esi, dword [esp + 0x14]
test esi, esi
je 0x460612
push 0x66
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460612
mov eax, dword [ebp]
push 0
lea edx, [esp + 0x34]
push edx
push eax
call fcn.00584d10
mov edx, dword [ebp]
lea ecx, [esp + 0x4c]
push ecx
push edx
call fcn.00584e40
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
mov edi, dword [0x645180]
mov edx, dword [esp + 0x50]
sub eax, ecx
mov ecx, dword [esp + 0x60]
add edi, eax
mov eax, dword [0x645184]
sub ecx, edx
add esp, 0x14
add eax, ecx
mov dword [0x645180], edi
mov dword [0x645184], eax
mov eax, dword [0x645178]
mov edx, dword [0x645180]
mov ecx, dword [0x64517c]
add edx, eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x645184]
add eax, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xa68]
test eax, eax
jne 0x460668
mov ecx, dword [ebp]
push ecx
call fcn.00582c10
add esp, 4
test eax, eax
je 0x460668
mov edx, dword [ebp]
push edx
call ebx
test eax, eax
je 0x460668
mov dword [esp + 0x58], 0
mov ecx, dword [ebp]
lea eax, [esp + 0x50]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
jmp 0x46067d
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4607cb
mov edx, dword [esp + 0x14]
push 0x72
push edx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4606a6
mov eax, dword [ebp]
push 8
push eax
call fcn.004a57d0
add esp, 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4607cb
mov esi, eax
push 0x6f
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4606cb
mov ecx, dword [ebp]
push 1
push ecx
jmp 0x4606e0
push 0x75
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4606e8
mov edx, dword [ebp]
push 0
push edx
call fcn.00582c40
add esp, 8
push 0x76
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460702
mov eax, dword [0x6451dc]
mov dword [ebp + 0xbf8], eax
push 0x7a
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460783
mov eax, dword [ebp + 0x71c]
test eax, eax
je 0x460783
mov eax, dword [ebp + 0xa44]
test eax, eax
mov ecx, dword [0x6451e0]
je 0x460756
test ecx, ecx
jne 0x460752
mov dword [ebp + 0xa44], ecx
mov ecx, dword [0x64531c]
push ecx
call fcn.0054c3b0
mov dword [0x64531c], eax
mov eax, dword [esp + 0x14]
add esp, 4
or eax, 1
jmp 0x46077f
test eax, eax
jne 0x460783
test ecx, ecx
je 0x460783
mov edi, 1
mov dword [ebp + 0xa44], edi
mov edx, dword [0x64531c]
push edx
call fcn.0054c3b0
mov dword [0x64531c], eax
mov eax, dword [esp + 0x14]
add esp, 4
or eax, edi
mov dword [esp + 0x10], eax
push 0x61
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x460796
push 1
jmp 0x4607bf
push 0x6f
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4607cb
mov ecx, dword [ebp]
push ecx
call fcn.00582c10
add esp, 4
test eax, eax
je 0x4607bd
mov edx, dword [ebp]
push 1
push edx
jmp 0x4607c3
push 4
mov eax, dword [ebp]
push eax
call fcn.004a57d0
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4607da
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov al, byte [esp + 0x10]
test al, 1
je 0x4607e6
push 0
jmp 0x4607eb
test al, 2
je 0x4607f3
push ebp
call fcn.005562e0
add esp, 4
push 1
push ebp
call fcn.00572530
add esp, 8
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x6c
ret