Function at 0x483650
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x10]
mov esi, 0x55206c
mov edi, 0x552070
cmp dword [ebx + 4], 0
jne 0x4836b3
push 0x63
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
mov eax, dword [ebp + 0xc]
push dword [eax]
push dword [ebp + 8]
call fcn.004bf5f3
mov dword [0x55209c], eax
cmp dword [0x55209c], 1
jne 0x4836a9
cmp dword [ebx + 4], 1
je 0x4836a9
cmp dword [ebx + 4], 2
je 0x4836a9
push 6
push dword [ebp + 0x1c]
push ebx
call fcn.0045b11b
jmp 0x484254
mov eax, dword [0x55209c]
jmp 0x484254
cmp dword [ebx + 0x30], 0
jne 0x4836c3
mov eax, 2
jmp 0x484254
cmp dword [ebx + 4], 2
jne 0x4836dc
mov edx, dword [ebx + 0x30]
cmp dword [edx + 0x30], 0
jne 0x4836dc
mov eax, 2
jmp 0x484254
mov edx, dword [ebx + 0x30]
cmp dword [edx + 0x18], 1
je 0x4836ef
mov eax, 1
jmp 0x484254
cmp dword [ebx + 4], 2
jne 0x48370b
mov edx, dword [ebx + 0x30]
mov ecx, dword [edx + 0x30]
cmp dword [ecx + 0x18], 1
je 0x48370b
mov eax, 1
jmp 0x484254
mov edx, dword [ebx + 0x30]
cmp dword [edx + 8], 0
jne 0x484222
mov eax, dword [ebx + 4]
cmp eax, 2
jne 0x483730
mov edx, dword [ebx + 0x30]
mov ecx, dword [edx + 0x30]
cmp dword [ecx + 8], 0
jne 0x484222
cmp eax, 2
jne 0x48374a
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x30]
push dword [edx]
call fcn.0052175c
pop ecx
mov dword [0x55209c], eax
jmp 0x483779
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx]
xor edx, edx
mov dl, byte [eax]
test byte [edx*2 + str.________________________________H], 4
je 0x48376f
mov ecx, dword [ebx + 0x30]
push dword [ecx]
call fcn.0052175c
pop ecx
mov dword [0x55209c], eax
jmp 0x483779
mov dword [0x55209c], 0x270f
cmp dword [0x55209c], 0
jg 0x48387a
xor eax, eax
mov dword [0x55209c], eax
mov edx, dword [0x537418]
mov dword [esi], edx
jmp 0x483856
cmp dword [ebx + 4], 2
jne 0x48383b
mov ecx, dword [esi]
cmp byte [ecx + 0x638], 2
jne 0x4837f5
mov eax, dword [esi]
mov al, byte [eax + 0x639]
cmp al, 3
je 0x4837bf
cmp al, 4
jne 0x4837f5
push 0x20
mov edx, dword [esi]
add edx, 4
push edx
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
jne 0x4837df
mov ecx, dword [esi]
add ecx, 4
mov dword [edi], ecx
jmp 0x4837e1
inc dword [edi]
push dword [edi]
push 0x52fb70
push dword [ebp + 0x1c]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x483822
mov eax, dword [esi]
add eax, 4
mov edx, dword [ebp + 0x1c]
push esi
push edi
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push dword [ebp + 0x1c]
mov eax, dword [ebx + 0x30]
push dword [eax]
call fcn.004f7684
test eax, eax
je 0x48384c
inc dword [0x55209c]
jmp 0x48384c
mov edx, dword [esi]
cmp byte [edx + 0x638], 9
jne 0x48384c
inc dword [0x55209c]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x9a8]
mov dword [esi], eax
cmp dword [esi], 0
jne 0x48379a
push dword [0x55209c]
push 0x52fb75
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
cmp dword [0x55209c], 0x270f
jne 0x4838e8
mov edx, dword [ebx + 0x30]
mov ecx, dword [edx]
cmp byte [ecx], 0x2d
jne 0x4838e8
xor eax, eax
mov dword [0x55209c], eax
xor edx, edx
mov dword [esi], edx
xor ecx, ecx
mov dword [ebp + 8], ecx
mov eax, dword [ebx + 0x30]
mov edx, dword [eax]
cmp byte [edx + 1], 0x31
jne 0x4838b8
call sub.USER32.dll_GetDesktopWindow
mov dword [ebp + 8], eax
jmp 0x483a17
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx]
mov al, byte [eax + 1]
cmp al, 0x32
jne 0x4838d2
mov edx, dword [0x537420]
mov dword [ebp + 8], edx
jmp 0x483a17
cmp al, 0x33
jne 0x483a17
mov ecx, dword [0x537424]
mov dword [ebp + 8], ecx
jmp 0x483a17
xor eax, eax
mov dword [ebp + 8], eax
mov edx, dword [0x537418]
mov dword [esi], edx
jmp 0x483a0e
mov ecx, dword [esi]
cmp byte [ecx + 0x638], 2
jne 0x48394b
mov eax, dword [esi]
mov al, byte [eax + 0x639]
cmp al, 3
je 0x483915
cmp al, 4
jne 0x48394b
push 0x20
mov edx, dword [esi]
add edx, 4
push edx
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
jne 0x483935
mov ecx, dword [esi]
add ecx, 4
mov dword [edi], ecx
jmp 0x483937
inc dword [edi]
push dword [edi]
push 0x52fb79
push dword [ebp + 0x1c]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x483978
mov eax, dword [esi]
add eax, 4
mov edx, dword [ebp + 0x1c]
push esi
push edi
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [0x55209c], 0x270f
jne 0x4839c2
cmp dword [ebx + 4], 2
jne 0x4839a5
push dword [ebp + 0x1c]
mov eax, dword [ebx + 0x30]
push dword [eax]
call fcn.004f7684
test eax, eax
je 0x4839f2
xor edx, edx
mov dword [0x55209c], edx
jmp 0x4839f2
push dword [ebp + 0x1c]
mov ecx, dword [ebx + 0x30]
push dword [ecx]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x4839f2
xor eax, eax
mov dword [0x55209c], eax
jmp 0x4839f2
cmp dword [ebx + 4], 2
jne 0x4839e1
push dword [ebp + 0x1c]
mov edx, dword [ebx + 0x30]
push dword [edx]
call fcn.004f7684
test eax, eax
je 0x4839f2
dec dword [0x55209c]
jmp 0x4839f2
mov ecx, dword [esi]
cmp byte [ecx + 0x638], 9
jne 0x4839f2
dec dword [0x55209c]
cmp dword [0x55209c], 0
jg 0x483a04
mov eax, dword [esi]
mov edx, dword [eax]
mov dword [ebp + 8], edx
jmp 0x483a17
mov ecx, dword [esi]
mov eax, dword [ecx + 0x9a8]
mov dword [esi], eax
cmp dword [esi], 0
jne 0x4838fa
cmp dword [ebp + 8], 0
jne 0x483a4b
push 0x5291d8
mov edx, dword [ebx + 0x30]
push dword [edx]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483a4b
mov eax, dword [0x5291d4]
mov dword [esi], eax
test eax, eax
je 0x483a43
mov edx, dword [eax]
mov dword [ebp + 8], edx
xor ecx, ecx
mov dword [0x55209c], ecx
cmp dword [ebp + 8], 0
je 0x4841a1
cmp dword [0x55209c], 0
jne 0x4841a1
cmp dword [ebx + 0xc], 0
je 0x4841a1
push 0x2e
push dword [ebx]
call fcn.005186c4
add esp, 8
mov dword [edi], eax
test eax, eax
je 0x4841a1
cmp dword [esi], 0
je 0x4840a0
push 0x55208c
push dword [ebp + 8]
call fcn.004fa0e4
push 0x52fb7e
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483ac6
push dword [0x55208c]
push 0x52fb82
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fb86
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483af4
push dword [0x552090]
push 0x52fb8a
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fb8e
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483b22
push dword [0x552094]
push 0x52fb92
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fb96
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483b50
push dword [0x552098]
push 0x52fb9a
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fb9e
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483b9b
mov edx, dword [esi]
push dword [edx]
call fcn.004f7e1e
test eax, eax
je 0x483b80
push 0x55208c
push dword [0x537424]
call sub.USER32.dll_ClientToScreen
push dword [0x55208c]
push 0x52fba3
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fba7
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483be6
mov ecx, dword [esi]
push dword [ecx]
call fcn.004f7e1e
test eax, eax
je 0x483bcb
push 0x55208c
push dword [0x537424]
call sub.USER32.dll_ClientToScreen
push dword [0x552090]
push 0x52fbac
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fbb0
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483c16
mov eax, dword [esi]
push dword [eax + 0x73c]
push 0x52fbb5
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fbb9
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483c46
mov edx, dword [esi]
push dword [edx + 0x740]
push 0x52fbbe
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fbc2
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483c91
mov ecx, dword [esi]
mov eax, dword [ecx + 0x750]
test eax, eax
je 0x484222
push 0x552074
push 0x18
push eax
call sub.GDI32.dll_GetObjectA
push dword [0x552078]
push 0x52fbc7
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fbcb
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483cdc
mov edx, dword [esi]
mov eax, dword [edx + 0x750]
test eax, eax
je 0x484222
push 0x552074
push 0x18
push eax
call sub.GDI32.dll_GetObjectA
push dword [0x55207c]
push 0x52fbd0
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push str..state
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483db9
cmp dword [0x536414], 0
je 0x483d34
mov edx, dword [esi]
cmp byte [edx + 0x650], 0
jne 0x483d56
push dword [ebp + 8]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x483d1f
push dword [ebp + 8]
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x483d56
mov ecx, dword [ebp + 0x14]
mov esi, 0x52fbdc
mov edi, ecx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
mov edx, dword [esi]
push dword [edx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x483d56
mov ecx, dword [ebp + 0x14]
mov esi, str.hidden
mov edi, ecx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
push dword [ebp + 8]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x483d6e
push dword [ebp + 8]
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x483d83
mov edx, dword [ebp + 0x14]
mov esi, str.minimized
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x484222
push dword [ebp + 8]
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x483da4
mov edx, dword [ebp + 0x14]
mov esi, str.maximized
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, str.normal
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
push str..icon
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483e46
cmp dword [0x536414], 0
je 0x483e06
mov edx, dword [esi]
cmp byte [edx + 0x650], 0
je 0x483df4
mov ecx, dword [ebp + 0x14]
mov esi, 0x52fc11
mov edi, ecx
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc15
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
jmp 0x484222
mov edx, dword [esi]
push dword [edx]
call sub.USER32.dll_IsIconic
test eax, eax
je 0x483e34
mov ecx, dword [esi]
push dword [ecx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
je 0x483e34
mov eax, dword [ebp + 0x14]
mov esi, 0x52fc1a
mov edi, eax
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc1e
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
jmp 0x484222
push str..mdi
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483e8e
push dword [ebp + 8]
call fcn.004f7e1e
test eax, eax
je 0x483e79
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc29
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc30
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
push str..font
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483ed4
mov edx, dword [esi]
add edx, 0x778
mov ecx, dword [ebp + 0x14]
push esi
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x484222
push str..fontbold
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483f1e
mov eax, dword [esi]
cmp dword [eax + 0x7e0], 0x190
jle 0x483f09
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc4a
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc51
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
push str..fontsize
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x483f4e
mov edx, dword [esi]
push dword [edx + 0x7dc]
push 0x52fc64
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 6
push 0x52fc68
push dword [edi]
call fcn.00518638
add esp, 0xc
test eax, eax
jne 0x483fd0
push 0x100
push dword [ebp + 0x1c]
push dword [ebp + 8]
call sub.USER32.dll_GetWindowTextA
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + 0x100], 0
push 0x20
push dword [ebp + 0x1c]
call fcn.0051833c
add esp, 8
mov esi, eax
mov dword [edi], esi
test esi, esi
je 0x484222
inc dword [edi]
mov esi, dword [edi]
cmp byte [esi], 0
je 0x484222
mov eax, dword [ebp + 0x14]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x484222
push str..logfile
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484015
mov eax, dword [esi]
add eax, 0x3fc
mov edx, dword [ebp + 0x14]
push esi
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x484222
push str..stamp
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484070
mov eax, dword [esi]
cmp dword [eax + 0x648], 1
je 0x484047
mov edx, dword [esi]
cmp dword [edx + 0x648], 2
jne 0x48405b
cmp dword [0x533fb8], 0
je 0x48405b
mov ecx, dword [ebp + 0x14]
mov esi, 0x52fc82
mov edi, ecx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x484222
mov edx, dword [ebp + 0x14]
mov esi, 0x52fc89
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x484222
push 0x52fc91
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484222
mov edx, dword [esi]
push dword [edx]
push 0x52fc98
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x55208c
push dword [ebp + 8]
call sub.USER32.dll_GetWindowRect
push 0x52fc9c
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x4840db
push dword [0x55208c]
push 0x52fca0
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fca4
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484109
push dword [0x552090]
push 0x52fca8
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fcac
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x48413e
mov ecx, dword [0x552094]
sub ecx, dword [0x55208c]
push ecx
push 0x52fcb0
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push 0x52fcb4
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484172
mov eax, dword [0x552098]
sub eax, dword [0x552090]
push eax
push 0x52fcb8
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
push str..hwnd
push dword [edi]
call fcn.005185a0
add esp, 8
test eax, eax
jne 0x484222
push dword [ebp + 8]
push 0x52fcc3
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
cmp dword [esi], 0
je 0x484222
mov edx, dword [esi]
cmp byte [edx + 0x638], 2
jne 0x4841f7
mov ecx, dword [esi]
mov al, byte [ecx + 0x639]
cmp al, 3
je 0x4841c1
cmp al, 4
jne 0x4841f7
push 0x20
mov edx, dword [esi]
add edx, 4
push edx
call fcn.0051833c
add esp, 8
mov dword [edi], eax
cmp dword [edi], 0
jne 0x4841e1
mov ecx, dword [esi]
add ecx, 4
mov dword [edi], ecx
jmp 0x4841e3
inc dword [edi]
push dword [edi]
push 0x52fcc7
push dword [ebp + 0x14]
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x484222
mov eax, dword [esi]
add eax, 4
mov edx, dword [ebp + 0x14]
push esi
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push dword [ebx + 0x30]
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.0049dd87
mov esi, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
cmp dword [ebx + 4], 2
jne 0x48424a
push dword [ebx + 0x30]
push esi
call fcn.0049dd87
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebx + 4], ecx
mov eax, 2
pop edi
pop esi
pop ebx
pop ebp
ret 0x18