Function at 0x464121
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 0x571b04
mov esi, 0x571b14
mov edi, 0x571b24
mov dword [0x571b60], 1
mov byte [0x571ac1], 0
mov byte [0x571abf], 0
mov byte [0x571ac2], 0
mov byte [0x571abe], 0
mov byte [0x571ac0], 0
mov byte [0x571abc], 1
mov byte [0x571abd], 0
mov dword [0x571b5c], 0xcc0020
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
cmp dword [eax + edx*4], 0
je 0x46428f
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
mov edx, dword [ecx + eax*4]
cmp byte [edx], 0x2d
jne 0x46428f
push 0x68
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x4641c2
mov byte [0x571ac1], 1
push 0x69
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
push dword [edx + ecx*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x4641e6
mov dword [0x571b5c], 0xbb0226
push 0x6e
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x464207
mov byte [0x571abc], 0
push 0x63
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x464227
mov byte [0x571abe], 1
push 0x73
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
push dword [edx + ecx*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x464248
mov byte [0x571abf], 1
push 0x74
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x464269
mov byte [0x571ac0], 1
push 0x6c
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.00539518
add esp, 8
test eax, eax
je 0x464289
mov byte [0x571ac2], 1
inc dword [0x571b60]
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
cmp dword [edx + ecx*4], 0
jne 0x4642cd
cmp byte [0x571abe], 0
je 0x4642b8
push 0
call fcn.004640a8
mov eax, 1
jmp 0x464e7c
push 0
push 0
mov edx, dword [ebp + 8]
push dword [edx]
push 0
call fcn.00467118
jmp 0x464e7c
push 0x54bb30
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.0053977c
add esp, 8
test eax, eax
jne 0x4642f3
xor edx, edx
mov dword [0x571af8], edx
jmp 0x464308
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.005160e8
mov dword [0x571af8], eax
mov eax, dword [0x571af8]
test eax, eax
je 0x464323
cmp byte [eax + 0x668], 0
je 0x464323
cmp dword [eax + 0x77c], 0
jne 0x464338
push 7
push 0
mov edx, dword [ebp + 8]
push dword [edx]
push 0
call fcn.00467118
jmp 0x464e7c
cmp byte [0x571ac1], 0
je 0x46434e
mov ecx, dword [0x571af8]
push dword [ecx]
call fcn.0047f090
inc dword [0x571b60]
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
cmp dword [eax + edx*4], 0
jne 0x464396
cmp byte [0x571abc], 0
je 0x464381
push dword [0x571af8]
call fcn.0046051c
mov eax, 1
jmp 0x464e7c
push 0
push 0
mov edx, dword [ebp + 8]
push dword [edx]
push 0
call fcn.00467118
jmp 0x464e7c
cmp byte [0x571ac0], 0
je 0x4643bb
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4]
call fcn.00542dbc
pop ecx
mov dword [0x571af4], eax
inc dword [0x571b60]
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
cmp dword [edx + ecx*4], 0
je 0x4643da
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
cmp dword [eax + edx*4 + 4], 0
jne 0x4643ef
push 0
push 0
mov ecx, dword [ebp + 8]
push dword [ecx]
push 0
call fcn.00467118
jmp 0x464e7c
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4]
call fcn.00542dbc
pop ecx
mov dword [edi], eax
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4 + 4]
call fcn.00542dbc
pop ecx
mov dword [edi + 4], eax
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0xffffffff
add dword [0x571b60], 2
cmp byte [0x571abf], 0
je 0x46449b
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
cmp dword [edx + ecx*4], 0
je 0x46449b
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4]
call fcn.004d5474
test eax, eax
je 0x46449b
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
cmp dword [ecx + eax*4 + 4], 0
je 0x46449b
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
push dword [edx + ecx*4]
call fcn.00542dbc
pop ecx
mov dword [edi + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4 + 4]
call fcn.00542dbc
pop ecx
mov dword [edi + 0xc], eax
add dword [0x571b60], 2
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
cmp dword [ecx + eax*4], 0
je 0x464560
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
push dword [edx + ecx*4]
call fcn.004d5474
test eax, eax
je 0x464560
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
cmp dword [eax + edx*4 + 4], 0
je 0x464560
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
cmp dword [ecx + eax*4 + 8], 0
je 0x464560
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
cmp dword [edx + ecx*4 + 0xc], 0
je 0x464560
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4]
call fcn.00542dbc
pop ecx
mov dword [0x571b34], eax
mov ecx, dword [ebp + 8]
mov eax, dword [0x571b60]
push dword [ecx + eax*4 + 4]
call fcn.00542dbc
pop ecx
mov dword [0x571b38], eax
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
push dword [edx + ecx*4 + 8]
call fcn.00542dbc
pop ecx
mov dword [0x571b3c], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x571b60]
push dword [eax + edx*4 + 0xc]
call fcn.00542dbc
pop ecx
mov dword [0x571b40], eax
add dword [0x571b60], 4
jmp 0x464583
xor ecx, ecx
mov dword [0x571b34], ecx
xor eax, eax
mov dword [0x571b38], eax
mov dword [0x571b3c], 0xffffffff
mov dword [0x571b40], 0xffffffff
mov edx, dword [ebp + 8]
mov ecx, dword [0x571b60]
cmp dword [edx + ecx*4], 0
jne 0x4645a7
push 0
push 0
mov eax, dword [ebp + 8]
push dword [eax]
push 0
call fcn.00467118
jmp 0x464e7c
push 0
push 0x104
push dword [ebp + 0xc]
push dword [0x571b60]
push dword [ebp + 8]
call fcn.004d670d
mov dword [0x571b60], eax
cmp dword [0x571b60], 0
jge 0x4645e2
push 3
push 0
mov edx, dword [ebp + 8]
push dword [edx]
push 0
call fcn.00467118
jmp 0x464e7c
push dword [ebp + 0xc]
push dword [ebp + 0xc]
call fcn.0041cd2d
test eax, eax
jne 0x464606
push 3
push 0
mov ecx, dword [ebp + 8]
push dword [ecx]
push 0
call fcn.00467118
jmp 0x464e7c
push dword [ebp + 0xc]
call fcn.00541e38
pop ecx
push dword [ebp + 0xc]
call fcn.0041ee0c
test eax, eax
jne 0x464630
push 3
push 0
mov eax, dword [ebp + 8]
push dword [eax]
push 0
call fcn.00467118
jmp 0x464e7c
cmp byte [0x571abe], 0
je 0x46465f
push 0
push 0x571afc
push dword [ebp + 0xc]
call fcn.0046402d
mov dword [0x571ac4], eax
cmp dword [0x571ac4], 0
je 0x46466e
mov byte [0x571abd], 1
jmp 0x4646d9
push 1
push 0x571afc
push dword [ebp + 0xc]
call fcn.0046402d
xor edx, edx
mov dword [0x571ac4], edx
xor ecx, ecx
mov dword [0x571afc], ecx
push 0x571afc
push 0x571ac4
mov eax, dword [0x571af8]
push dword [eax]
push dword [ebp + 0xc]
call fcn.0041ee6c
cmp dword [0x571ac4], 0
jne 0x4646d9
cmp dword [0x550004], 0
je 0x4646b0
call fcn.00463e8f
jmp 0x46466e
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push dword [edx]
push 0
push 0x835
call fcn.0041c35b
push eax
push 0x5720e8
call sub.USER32.dll_wsprintfA
add esp, 0x10
xor eax, eax
jmp 0x464e7c
mov edx, dword [0x571af8]
push dword [edx]
call sub.USER32.dll_GetDC
mov dword [0x571adc], eax
cmp dword [0x571adc], 0
jne 0x4646fb
xor eax, eax
jmp 0x464e7c
xor edx, edx
mov dword [0x571acc], edx
xor ecx, ecx
mov dword [0x571ad0], ecx
xor eax, eax
mov dword [0x571ae4], eax
xor edx, edx
mov dword [0x571ac8], edx
xor ecx, ecx
mov dword [0x571ae8], ecx
xor eax, eax
mov dword [0x571ad4], eax
push dword [0x571adc]
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x571ae0], eax
cmp dword [0x571ae0], 0
je 0x464d3f
push dword [0x571ac4]
push dword [0x571ae0]
call sub.GDI32.dll_SelectObject
mov dword [0x571acc], eax
push 0x571b44
push 0x18
push dword [0x571ac4]
call sub.GDI32.dll_GetObjectA
push dword [0x571adc]
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x571ae4], eax
cmp dword [0x571ae4], 0
je 0x464d3f
mov edx, dword [0x571af8]
push dword [edx + 0x77c]
push dword [0x571ae4]
call sub.GDI32.dll_SelectObject
mov dword [0x571ad0], eax
cmp dword [0x571afc], 0
je 0x4647f5
mov ecx, dword [0x571af8]
cmp dword [ecx + 0x780], 0
je 0x4647e4
mov eax, dword [0x571af8]
push dword [eax + 0x780]
call fcn.00463e21
test eax, eax
jne 0x4647e4
mov edx, dword [0x571af8]
push dword [edx + 0x780]
call sub.GDI32.dll_DeleteObject
mov ecx, dword [0x571af8]
mov eax, dword [0x571afc]
mov dword [ecx + 0x780], eax
cmp dword [edi + 8], 0xffffffff
jne 0x464838
cmp dword [edi + 0xc], 0xffffffff
jne 0x464838
cmp dword [0x571b3c], 0xffffffff
jne 0x464827
cmp dword [0x571b40], 0xffffffff
jne 0x464827
mov edx, dword [0x571b48]
mov dword [edi + 8], edx
mov ecx, dword [0x571b4c]
mov dword [edi + 0xc], ecx
jmp 0x464838
mov eax, dword [0x571b3c]
mov dword [edi + 8], eax
mov edx, dword [0x571b40]
mov dword [edi + 0xc], edx
cmp dword [0x571b3c], 0xffffffff
jne 0x464860
cmp dword [0x571b40], 0xffffffff
jne 0x464860
mov ecx, dword [0x571b48]
mov dword [0x571b3c], ecx
mov eax, dword [0x571b4c]
mov dword [0x571b40], eax
push 3
push dword [0x571ae4]
call sub.GDI32.dll_SetStretchBltMode
push 0
push 0
push 0
push dword [0x571ae4]
call sub.GDI32.dll_SetBrushOrgEx
cmp byte [0x571ac0], 0
je 0x464b3d
push dword [0x571adc]
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x571ae8], eax
cmp dword [0x571ae8], 0
je 0x464d3f
push dword [0x571b40]
push dword [0x571b3c]
push dword [0x571adc]
call sub.GDI32.dll_CreateCompatibleBitmap
mov dword [0x571ad4], eax
cmp dword [0x571ad4], 0
je 0x464d3f
push dword [0x571ad4]
push dword [0x571ae8]
call sub.GDI32.dll_SelectObject
mov dword [0x571ad8], eax
push 0xcc0020
push dword [0x571b38]
push dword [0x571b34]
push dword [0x571ae0]
push dword [0x571b40]
push dword [0x571b3c]
push 0
push 0
push dword [0x571ae8]
call sub.GDI32.dll_BitBlt
push dword [0x571ad8]
push dword [0x571ae8]
call sub.GDI32.dll_SelectObject
push dword [0x571acc]
push dword [0x571ae0]
call sub.GDI32.dll_SelectObject
push dword [0x571ad4]
push dword [0x571ae0]
call sub.GDI32.dll_SelectObject
mov dword [0x571acc], eax
push dword [0x571af4]
push dword [0x571b40]
push dword [0x571b3c]
push dword [0x571ae8]
push dword [0x571ae0]
call fcn.004633a6
mov dword [0x571ac8], eax
cmp dword [0x571ac8], 0
je 0x464d3f
push 0
push dword [0x571ae4]
call sub.GDI32.dll_SetTextColor
mov dword [0x571aec], eax
push 0xffffff
push dword [0x571ae4]
call sub.GDI32.dll_SetBkColor
mov dword [0x571af0], eax
cmp byte [0x571ac2], 0
je 0x464ab4
push esi
push edi
mov esi, edi
mov edi, ebx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
mov edi, esi
mov esi, 0x571b34
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov edx, dword [edi + 4]
add edx, dword [edi + 0xc]
mov eax, dword [ebx + 4]
cmp edx, eax
jl 0x464b16
mov ecx, dword [edi + 4]
add ecx, dword [edi + 0xc]
mov edx, eax
add edx, dword [esi + 0xc]
cmp ecx, edx
jge 0x464a06
mov ecx, dword [edi + 4]
add ecx, dword [edi + 0xc]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [0x571b3c]
mov dword [esi + 8], eax
mov edx, dword [edi]
add edx, dword [edi + 8]
mov eax, dword [ebx]
cmp edx, eax
jl 0x464aa5
mov edx, dword [edi]
add edx, dword [edi + 8]
mov ecx, eax
add ecx, dword [esi + 8]
cmp edx, ecx
jge 0x464a39
mov edx, dword [edi]
add edx, dword [edi + 8]
sub edx, eax
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
mov dword [ebx + 8], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0xc], eax
push 0x8800c6
push dword [esi + 0xc]
push edx
push 0
push 0
push dword [0x571ae8]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
push 0xee0086
push dword [esi + 0xc]
push dword [esi + 8]
push 0
push 0
push dword [0x571ae0]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
mov eax, dword [esi + 8]
test eax, eax
jle 0x464aa5
add dword [ebx], eax
jmp 0x464a12
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x464b16
add dword [ebx + 4], eax
jmp 0x4649db
push 0x8800c6
push dword [0x571b40]
push dword [0x571b3c]
push 0
push 0
push dword [0x571ae8]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
push 0xee0086
push dword [0x571b40]
push dword [0x571b3c]
push 0
push 0
push dword [0x571ae0]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
push dword [0x571aec]
push dword [0x571ae4]
call sub.GDI32.dll_SetTextColor
push dword [0x571af0]
push dword [0x571ae4]
call sub.GDI32.dll_SetBkColor
jmp 0x464c55
cmp byte [0x571ac2], 0
je 0x464c1b
push esi
push edi
mov esi, edi
mov edi, ebx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
mov edi, esi
mov esi, 0x571b34
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov edx, dword [edi + 4]
add edx, dword [edi + 0xc]
mov eax, dword [ebx + 4]
cmp edx, eax
jl 0x464c55
mov ecx, dword [edi + 4]
add ecx, dword [edi + 0xc]
mov edx, eax
add edx, dword [esi + 0xc]
cmp ecx, edx
jge 0x464b96
mov ecx, dword [edi + 4]
add ecx, dword [edi + 0xc]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [0x571b3c]
mov dword [esi + 8], eax
mov edx, dword [edi]
add edx, dword [edi + 8]
mov eax, dword [ebx]
cmp edx, eax
jl 0x464c0c
mov edx, dword [edi]
add edx, dword [edi + 8]
mov ecx, eax
add ecx, dword [esi + 8]
cmp edx, ecx
jge 0x464bc5
mov edx, dword [edi]
add edx, dword [edi + 8]
sub edx, eax
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
mov dword [ebx + 8], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0xc], eax
push dword [0x571b5c]
push dword [esi + 0xc]
push edx
push dword [0x571b38]
push dword [0x571b34]
push dword [0x571ae0]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
mov eax, dword [esi + 8]
test eax, eax
jle 0x464c0c
add dword [ebx], eax
jmp 0x464ba2
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x464c55
add dword [ebx + 4], eax
jmp 0x464b6b
push dword [0x571b5c]
push dword [0x571b40]
push dword [0x571b3c]
push dword [0x571b38]
push dword [0x571b34]
push dword [0x571ae0]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [0x571ae4]
call sub.GDI32.dll_StretchBlt
cmp byte [0x571abc], 0
je 0x464cdd
mov edx, dword [0x571af8]
cmp dword [edx + 0x780], 0
je 0x464c96
push 0
mov ecx, dword [0x571af8]
push dword [ecx + 0x780]
push dword [0x571adc]
call sub.GDI32.dll_SelectPalette
mov dword [0x571b00], eax
push dword [0x571adc]
call sub.GDI32.dll_RealizePalette
push 0xcc0020
push dword [edi + 4]
push dword [edi]
push dword [0x571ae4]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [0x571adc]
call sub.GDI32.dll_BitBlt
mov eax, dword [0x571af8]
cmp dword [eax + 0x780], 0
je 0x464cdd
push 0
push dword [0x571b00]
push dword [0x571adc]
call sub.GDI32.dll_SelectPalette
mov edx, dword [0x571b34]
add edx, dword [0x571b3c]
mov ecx, dword [0x571af8]
cmp edx, dword [ecx + 0x78c]
jle 0x464d0e
mov eax, dword [0x571b34]
add eax, dword [0x571b3c]
mov edx, dword [0x571af8]
mov dword [edx + 0x78c], eax
mov ecx, dword [0x571b38]
add ecx, dword [0x571b40]
mov eax, dword [0x571af8]
cmp ecx, dword [eax + 0x790]
jle 0x464d3f
mov edx, dword [0x571b38]
add edx, dword [0x571b40]
mov ecx, dword [0x571af8]
mov dword [ecx + 0x790], edx
cmp dword [0x571ae8], 0
je 0x464d7d
cmp dword [0x571ac8], 0
je 0x464d72
push dword [0x571ac8]
push dword [0x571ae8]
call sub.GDI32.dll_SelectObject
mov dword [0x571ac8], eax
push dword [0x571ac8]
call sub.GDI32.dll_DeleteObject
push dword [0x571ae8]
call sub.GDI32.dll_DeleteDC
cmp dword [0x571ae4], 0
je 0x464dab
cmp dword [0x571ad0], 0
je 0x464da0
push dword [0x571ad0]
push dword [0x571ae4]
call sub.GDI32.dll_SelectObject
push dword [0x571ae4]
call sub.GDI32.dll_DeleteDC
cmp dword [0x571ae0], 0
je 0x464ded
cmp dword [0x571acc], 0
je 0x464de2
push dword [0x571acc]
push dword [0x571ae0]
call sub.GDI32.dll_SelectObject
cmp dword [0x571ad4], 0
je 0x464de2
push dword [0x571ad4]
call sub.GDI32.dll_DeleteObject
push dword [0x571ae0]
call sub.GDI32.dll_DeleteDC
cmp byte [0x571abd], 0
jne 0x464e64
cmp byte [0x571abe], 0
je 0x464e17
push dword [0x571afc]
push dword [0x571ac4]
push dword [ebp + 0xc]
call fcn.00463f46
test eax, eax
jne 0x464e64
cmp dword [0x571ac4], 0
je 0x464e2b
push dword [0x571ac4]
call sub.GDI32.dll_DeleteObject
xor eax, eax
mov dword [0x571ac4], eax
cmp dword [0x571afc], 0
je 0x464e64
push dword [0x571afc]
call fcn.00463e58
test eax, eax
jne 0x464e64
push dword [0x571afc]
call fcn.00463e21
test eax, eax
jne 0x464e64
push dword [0x571afc]
call sub.GDI32.dll_DeleteObject
push dword [0x571adc]
mov edx, dword [0x571af8]
push dword [edx]
call sub.USER32.dll_ReleaseDC
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 8