Function at 0x4199f0
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
enter 0x1ec, 1
push ebx
push ecx
push edx
mov dword [ebp - 8], esp
mov byte [ebp - 0xcc], 0
mov byte [ebp - 0xd0], 0
mov eax, dword [0x4a91ad]
movsx ebx, word [ebp + 0x24]
movsx ecx, word [ebp + 0x20]
imul ecx, ecx, 0xff
mov edi, eax
mov esi, dword [edi + 0x281]
lea edi, [esi + ecx - 0x100]
movzx ecx, byte [edi + ebx]
mov word [eax + 0xb7f], cx
mov eax, dword [0x4a91ad]
call fcn.00419962
mov bx, word [ebp + 0x24]
mov word [ebp - 0xc8], bx
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x94]
mov esi, eax
push 0x80
call fcn.00401950
mov word [ebp - 0xc4], 1
cmp byte [ebp + 0x10], 0x41
je 0x419ab7
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
movsx ecx, bx
test ecx, ecx
jle 0x419ab7
mov word [ebp - 0xd8], cx
mov word [ebp - 0xc0], 0
inc word [ebp - 0xc0]
movsx eax, word [ebp - 0xc0]
cmp byte [ebp + eax - 0x94], 0x20
je 0x419aae
movsx ebx, ax
mov byte [ebp + ebx - 0x94], 0x2a
dec word [ebp - 0xd8]
jne 0x419a8b
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
mov cl, byte [ebp + 0x1c]
push ecx
call fcn.00408750
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1d8]
push ecx
lea eax, [ebp - 0x94]
push eax
push 1
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1d8]
push eax
call fcn.00404180
mov eax, dword [0x4a91ad]
mov dword [ebp - 0xdc], eax
mov bl, byte [ebp - 0xc8]
push ebx
mov al, byte [ebp + 0x20]
push eax
mov eax, dword [ebp - 0xdc]
call fcn.004198d2
lea ecx, [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xdc]
call fcn.00412262
mov byte [ebp - 0xb0], al
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xac], bl
cmp byte [ebp - 0xac], 0xfe
jne 0x419b45
mov byte [ebp - 0xb0], 0
mov al, byte [ebp - 0xb0]
cmp al, 7
jne 0x419b70
mov bl, byte [ebp - 0xd0]
test bl, bl
jne 0x419b60
mov ecx, 1
jmp 0x419b65
mov ecx, 0
mov byte [ebp - 0xd0], cl
jmp 0x41a7b4
cmp al, 1
jne 0x419c5c
movsx ebx, word [ebp + 0x18]
movsx ecx, word [ebp + 0x24]
add ecx, ebx
movsx eax, word [ebp - 0xc4]
sub ecx, eax
movsx eax, word [ebp - 0xc8]
cmp ecx, eax
jl 0x419c57
movsx ecx, word [ebp + 0x24]
movsx eax, ax
sub eax, ecx
movsx ebx, word [ebp - 0xc4]
add eax, ebx
movsx eax, ax
movsx ebx, word [ebp + 0x18]
dec ebx
movsx ebx, bx
sub ebx, eax
jl 0x419c0c
inc ebx
mov word [ebp - 0xe0], bx
mov word [ebp - 0xc0], ax
jmp 0x419bd5
inc word [ebp - 0xc0]
movsx eax, word [ebp - 0xc0]
mov edi, dword [ebp + 8]
movsx ebx, ax
mov esi, edi
mov cl, byte [edi + eax + 1]
mov byte [esi + ebx], cl
movsx eax, word [ebp - 0xc0]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x93]
mov byte [ebp + ebx - 0x94], cl
dec word [ebp - 0xe0]
jne 0x419bce
movsx eax, word [ebp + 0x18]
mov edi, dword [ebp + 8]
mov byte [edi + eax], 0x20
movsx eax, word [ebp + 0x18]
mov byte [ebp + eax - 0x94], 0x20
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e0]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e0]
push eax
call fcn.00404180
jmp 0x41a7b4
cmp al, 0xe
jne 0x419cc9
mov bx, word [ebp - 0xc8]
cmp word [ebp + 0x24], bx
jge 0x419c76
dec word [ebp - 0xc8]
jmp 0x419cc4
cmp word [ebp - 0xc4], 1
jle 0x419cbd
dec word [ebp - 0xc4]
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e0]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e0]
push eax
call fcn.00404180
jmp 0x419cc4
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0xf
jne 0x419d62
movsx ebx, word [ebp + 0x1c]
movsx ecx, word [ebp + 0x24]
add ecx, ebx
dec ecx
movsx eax, word [ebp - 0xc8]
cmp ecx, eax
jle 0x419cf1
inc word [ebp - 0xc8]
jmp 0x419d5d
mov cx, word [ebp + 0x18]
cmp word [ebp + 0x1c], cx
jge 0x419d56
movsx eax, word [ebp - 0xc4]
movsx ebx, bx
add ebx, eax
dec ebx
movsx eax, cx
cmp eax, ebx
jle 0x419d4d
inc word [ebp - 0xc4]
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e0]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e0]
push eax
call fcn.00404180
jmp 0x419d54
mov byte [ebp - 0xcc], 1
jmp 0x419d5d
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 2
jne 0x419e63
mov bx, word [ebp - 0xc8]
cmp word [ebp + 0x24], bx
jl 0x419d85
cmp word [ebp - 0xc4], 1
jle 0x419e5e
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc8]
sub ebx, eax
movsx ecx, word [ebp - 0xc4]
add ebx, ecx
movsx ebx, bx
movsx eax, word [ebp + 0x18]
sub eax, ebx
jl 0x419df6
inc eax
mov word [ebp - 0xe4], ax
mov word [ebp - 0xc0], bx
jmp 0x419dbf
inc word [ebp - 0xc0]
movsx eax, word [ebp - 0xc0]
mov edi, dword [ebp + 8]
movsx ebx, ax
mov esi, edi
mov cl, byte [esi + ebx]
mov byte [edi + eax - 1], cl
movsx eax, word [ebp - 0xc0]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x94]
mov byte [ebp + ebx - 0x95], cl
dec word [ebp - 0xe4]
jne 0x419db8
movsx eax, word [ebp + 0x18]
mov edi, dword [ebp + 8]
mov byte [edi + eax], 0x20
movsx eax, word [ebp + 0x18]
mov byte [ebp + eax - 0x94], 0x20
mov ax, word [ebp - 0xc8]
cmp word [ebp + 0x24], ax
jge 0x419e23
dec word [ebp - 0xc8]
jmp 0x419e2a
dec word [ebp - 0xc4]
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e4]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e4]
push eax
call fcn.00404180
jmp 0x41a7b4
cmp al, 8
jne 0x419ebe
mov bx, word [ebp + 0x24]
mov word [ebp - 0xc8], bx
cmp word [ebp - 0xc4], 1
jle 0x419eb9
mov word [ebp - 0xc4], 1
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e4]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e4]
push eax
call fcn.00404180
jmp 0x41a7b4
cmp al, 9
jne 0x419fa3
mov bx, word [ebp + 0x18]
mov word [ebp - 0xc0], bx
cmp word [ebp - 0xc0], 1
jle 0x419ef4
movsx eax, word [ebp - 0xc0]
mov edi, dword [ebp + 8]
cmp byte [edi + eax], 0x20
jne 0x419ef4
dec word [ebp - 0xc0]
jmp 0x419ed1
inc word [ebp - 0xc0]
mov ax, word [ebp - 0xc0]
cmp word [ebp + 0x18], ax
jge 0x419f13
mov bx, word [ebp + 0x18]
mov word [ebp - 0xc0], bx
mov ax, word [ebp - 0xc0]
cmp word [ebp + 0x1c], ax
jge 0x419f4b
movsx ebx, word [ebp + 0x1c]
movsx ecx, word [ebp + 0x24]
add ecx, ebx
dec ecx
mov word [ebp - 0xc8], cx
movsx eax, word [ebp + 0x1c]
movsx ebx, word [ebp - 0xc0]
sub ebx, eax
inc ebx
mov word [ebp - 0xc4], bx
jmp 0x419f6a
mov word [ebp - 0xc4], 1
movsx eax, word [ebp - 0xc0]
movsx ebx, word [ebp + 0x24]
add ebx, eax
dec ebx
mov word [ebp - 0xc8], bx
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e4]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e4]
push eax
call fcn.00404180
jmp 0x41a7b4
cmp al, 0xf
jne 0x41a03c
movsx ebx, word [ebp + 0x1c]
movsx ecx, word [ebp + 0x24]
add ecx, ebx
dec ecx
movsx eax, word [ebp - 0xc8]
cmp ecx, eax
jle 0x419fcb
inc word [ebp - 0xc8]
jmp 0x41a037
mov cx, word [ebp + 0x18]
cmp word [ebp + 0x1c], cx
jge 0x41a030
movsx eax, word [ebp - 0xc4]
movsx ebx, bx
add ebx, eax
dec ebx
movsx eax, cx
cmp eax, ebx
jl 0x41a027
inc word [ebp - 0xc4]
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e4]
push ecx
lea eax, [ebp - 0x94]
push eax
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e4]
push eax
call fcn.00404180
jmp 0x41a02e
mov byte [ebp - 0xcc], 1
jmp 0x41a037
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0
jne 0x41a57f
movzx ebx, word [ebp - 0x10]
mov eax, ebx
cmp eax, 3
jne 0x41a138
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x41a133
call sub.user32.dll_EmptyClipboard
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
inc ebx
push ebx
push 2
call sub.kernel32.dll_GlobalAlloc
mov dword [ebp - 0x98], eax
push eax
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x8000
je 0x41a12e
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [ebp + 8]
movzx ebx, byte [edi]
inc ebx
push ebx
call fcn.00403930
push dword [ebp - 0xa0]
lea eax, [ebp - 0x1e4]
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.004189e0
lea ebx, [ebp - 0x1e4]
push ebx
call fcn.00401a00
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalLock
push eax
push dword [ebp - 0xa0]
lea eax, [ebp - 0x1e4]
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.004189e0
movzx ebx, byte [ebp - 0x1e4]
inc ebx
push ebx
call fcn.0041bb10
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalUnlock
push dword [ebp - 0x98]
push 1
call sub.user32.dll_SetClipboardData
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [ebp + 8]
movzx ebx, byte [edi]
inc ebx
push ebx
call fcn.00403100
call sub.user32.dll_CloseClipboard
jmp 0x41a57a
cmp eax, 0x16
jne 0x41a350
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x41a34b
push 1
call sub.user32.dll_GetClipboardData
mov dword [ebp - 0x98], eax
push eax
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x8000
je 0x41a346
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x4000
je 0x41a346
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalSize
dec eax
mov dword [ebp - 0x9c], eax
test eax, eax
jbe 0x41a346
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x41a346
movsx ebx, word [ebp + 0x18]
mov eax, dword [ebp - 0x9c]
test eax, eax
jl 0x41a1d3
cmp ebx, eax
jge 0x41a1df
movsx eax, word [ebp + 0x18]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
movsx eax, word [ebp + 0x24]
add eax, dword [ebp - 0x9c]
movsx ebx, word [ebp - 0xc4]
sub eax, ebx
movsx ecx, word [ebp - 0xc8]
cmp eax, ecx
jl 0x41a33b
movsx eax, cx
dec eax
mov word [ebp - 0xc0], ax
inc word [ebp - 0xc0]
movsx eax, word [ebp - 0xc8]
movsx ebx, word [ebp - 0xc0]
sub ebx, eax
mov edi, dword [ebp - 0xa8]
movzx ebx, byte [edi + ebx]
mov esi, 0x4996a7
mov eax, ebx
push 0xf0000
call fcn.0040148e
test al, al
jne 0x41a2ba
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc0]
sub ebx, eax
movsx ecx, word [ebp - 0xc4]
add ebx, ecx
mov edi, dword [ebp + 8]
movsx edx, word [ebp - 0xc8]
movsx eax, word [ebp - 0xc0]
sub eax, edx
mov esi, dword [ebp - 0xa8]
mov al, byte [esi + eax]
mov byte [edi + ebx], al
movsx eax, word [ebp - 0xc8]
movsx ebx, word [ebp - 0xc0]
sub ebx, eax
mov edi, dword [ebp - 0xa8]
movsx ecx, word [ebp + 0x24]
movsx edx, word [ebp - 0xc0]
sub edx, ecx
movsx eax, word [ebp - 0xc4]
add edx, eax
mov bl, byte [edi + ebx]
mov byte [ebp + edx - 0x94], bl
movsx eax, word [ebp + 0x24]
add eax, dword [ebp - 0x9c]
movsx ebx, word [ebp - 0xc4]
sub eax, ebx
movsx ecx, word [ebp - 0xc0]
cmp eax, ecx
jle 0x41a307
movsx eax, word [ebp - 0xc8]
movsx edx, cx
sub edx, eax
mov edi, dword [ebp - 0xa8]
movzx edx, byte [edi + edx]
mov esi, 0x4996a9
mov eax, edx
push 0xf0000
call fcn.0040148e
test al, al
je 0x41a219
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e4]
push ecx
lea edx, [ebp - 0x94]
push edx
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e4]
push eax
call fcn.00404180
push dword [ebp - 0x98]
call sub.kernel32.dll_GlobalUnlock
call sub.user32.dll_CloseClipboard
jmp 0x41a57a
cmp byte [ebp + 0x14], 1
je 0x41a373
cmp byte [ebp + 0x14], 0
jne 0x41a37a
movzx eax, word [ebp - 0x10]
mov esi, 0x4996ab
push 0xf0030
call fcn.0040148e
test al, al
je 0x41a37a
mov eax, 1
jmp 0x41a37f
mov eax, 0
mov byte [ebp - 0xd4], al
test al, al
je 0x41a3c7
mov bl, byte [ebp - 0xd0]
test bl, bl
je 0x41a3b5
test bl, bl
je 0x41a3bc
movsx eax, word [ebp + 0x18]
movsx ecx, word [ebp + 0x24]
add ecx, eax
movsx edx, word [ebp - 0xc4]
sub ecx, edx
movsx eax, word [ebp - 0xc8]
cmp ecx, eax
jle 0x41a3bc
mov eax, 1
jmp 0x41a3c1
mov eax, 0
mov byte [ebp - 0xd4], al
mov al, byte [ebp - 0xd4]
test al, al
je 0x41a57a
mov bl, byte [ebp - 0xd0]
test bl, bl
je 0x41a473
movsx ecx, word [ebp + 0x18]
movsx edx, word [ebp + 0x24]
add edx, ecx
movsx eax, word [ebp - 0xc4]
sub edx, eax
movsx eax, word [ebp - 0xc8]
cmp edx, eax
jle 0x41a473
movsx edx, cx
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc8]
sub ebx, eax
movsx eax, word [ebp - 0xc4]
add ebx, eax
inc ebx
movsx ebx, bx
sub ebx, edx
jg 0x41a473
dec ebx
mov word [ebp - 0xe8], bx
mov word [ebp - 0xc0], dx
jmp 0x41a43c
dec word [ebp - 0xc0]
movsx eax, word [ebp - 0xc0]
mov edi, dword [ebp + 8]
movsx ebx, ax
mov esi, edi
mov cl, byte [edi + eax - 1]
mov byte [esi + ebx], cl
movsx eax, word [ebp - 0xc0]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x95]
mov byte [ebp + ebx - 0x94], cl
inc word [ebp - 0xe8]
jne 0x41a435
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc8]
sub ebx, eax
movsx ecx, word [ebp - 0xc4]
add ebx, ecx
mov edi, dword [ebp + 8]
mov dl, byte [ebp - 0xac]
mov byte [edi + ebx], dl
cmp byte [ebp + 0x10], 0x41
jne 0x41a4c0
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc8]
sub ebx, eax
movsx ecx, word [ebp - 0xc4]
add ebx, ecx
mov dl, byte [ebp - 0xac]
mov byte [ebp + ebx - 0x94], dl
jmp 0x41a4de
movsx eax, word [ebp + 0x24]
movsx ebx, word [ebp - 0xc8]
sub ebx, eax
movsx ecx, word [ebp - 0xc4]
add ebx, ecx
mov byte [ebp + ebx - 0x94], 0x2a
movsx eax, word [ebp + 0x1c]
movsx ebx, word [ebp + 0x24]
add ebx, eax
dec ebx
movsx ecx, word [ebp - 0xc8]
cmp ebx, ecx
jle 0x41a4fe
inc word [ebp - 0xc8]
jmp 0x41a536
mov bx, word [ebp + 0x18]
cmp word [ebp + 0x1c], bx
jge 0x41a52f
movsx edx, word [ebp - 0xc4]
movsx eax, ax
add eax, edx
dec eax
movsx ebx, bx
cmp ebx, eax
jle 0x41a526
inc word [ebp - 0xc4]
jmp 0x41a52d
mov byte [ebp - 0xcc], 1
jmp 0x41a536
mov byte [ebp - 0xcc], 1
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1e8]
push ecx
lea edx, [ebp - 0x94]
push edx
movsx eax, word [ebp - 0xc4]
push eax
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1e8]
push eax
call fcn.00404180
cmp byte [ebp - 0xcc], 1
jne 0x41a57a
mov byte [ebp - 0xb0], 0xf
jmp 0x41a7b4
cmp al, 0x21
jne 0x41a59a
mov bx, word [ebp - 0x10]
mov word [0x4a91bd], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x20
jne 0x41a5b5
mov bx, word [ebp - 0x10]
mov word [0x4a91bf], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x22
jne 0x41a5d0
mov bx, word [ebp - 0x10]
mov word [0x4a91c1], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x23
jne 0x41a5eb
mov bx, word [ebp - 0x10]
mov word [0x4a91c3], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x2d
jne 0x41a606
mov bx, word [ebp - 0x10]
mov word [0x4a91c5], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x17
jne 0x41a62e
fld qword [0x4996ad]
fstp qword [ebp - 0xb8]
wait
lea ebx, [ebp - 0xb8]
push ebx
call fcn.0041ad60
mov byte [ebp - 0xb0], al
jmp 0x41a7b4
cmp al, 0x30
jne 0x41a64f
cmp dword [0x4a854c], 0
je 0x41a643
call dword [0x4a854c]
jmp 0x41a64a
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x31
jne 0x41a670
cmp dword [0x4a8550], 0
je 0x41a664
call dword [0x4a8550]
jmp 0x41a66b
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x28
jne 0x41a68b
mov bx, word [ebp - 0x10]
mov word [0x4a8f97], bx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x26
jne 0x41a6b3
mov bl, byte [ebp - 0x10]
push ebx
mov eax, dword [0x4a91ad]
call fcn.0041ad32
movzx ecx, al
mov word [0x4a91c7], cx
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x1e
jne 0x41a765
mov edi, dword [0x4a91ad]
mov dword [ebp - 0xec], edi
mov ax, word [edi + 0xb6d]
cmp word [ebp + 0x20], ax
jne 0x41a75c
mov edi, dword [ebp - 0xec]
mov ax, word [edi + 0xb6b]
cmp word [ebp + 0x24], ax
jg 0x41a75c
movsx ebx, word [ebp + 0x1c]
movsx eax, word [ebp + 0x24]
add eax, ebx
dec eax
movsx ecx, word [edi + 0xb6b]
cmp eax, ecx
jl 0x41a75c
mov word [ebp - 0xc8], cx
mov ax, word [ebp - 0xc8]
cmp word [ebp + 0x24], ax
jge 0x41a72e
push eax
mov bx, word [ebp + 0x20]
push ebx
call fcn.0041ace0
cmp al, 0x20
jne 0x41a72e
dec word [ebp - 0xc8]
jmp 0x41a709
mov eax, dword [ebp - 0xec]
mov bx, word [ebp - 0xc8]
cmp word [eax + 0xb6b], bx
jle 0x41a75a
push ebx
mov cx, word [ebp + 0x20]
push ecx
call fcn.0041ace0
cmp al, 0x20
je 0x41a75a
inc word [ebp - 0xc8]
jmp 0x41a763
mov byte [ebp - 0xcc], 1
jmp 0x41a7b4
cmp al, 0x25
je 0x41a7ad
cmp al, 0x24
je 0x41a7ad
cmp al, 5
je 0x41a7ad
cmp al, 4
je 0x41a7ad
cmp al, 3
je 0x41a7ad
cmp al, 6
je 0x41a7ad
cmp al, 0x29
je 0x41a7ad
cmp al, 0x2a
je 0x41a7ad
cmp al, 0x27
je 0x41a7ad
cmp al, 0xb
je 0x41a7ad
cmp al, 0xa
je 0x41a7ad
cmp al, 0x2b
je 0x41a7ad
cmp al, 0x1c
ja 0x41a79d
cmp al, 0x18
jae 0x41a7ad
cmp al, 0x16
ja 0x41a7a5
cmp al, 0x11
jae 0x41a7ad
cmp al, 0x10
je 0x41a7ad
cmp al, 0xd
jne 0x41a7b4
mov byte [ebp - 0xcc], 1
mov al, byte [ebp - 0xcc]
test al, al
je 0x419af6
mov edi, dword [0x4a91ad]
mov dword [ebp - 0xf0], edi
movsx eax, word [edi + 0xb7f]
cmp eax, 0x14
jne 0x41a7ec
mov eax, dword [ebp - 0xf0]
call fcn.0040b4b2
jmp 0x41a955
cmp eax, 0x15
jne 0x41a803
mov eax, dword [ebp - 0xf0]
call fcn.0041aca2
jmp 0x41a955
cmp eax, 0x16
jne 0x41a81a
mov eax, dword [ebp - 0xf0]
call fcn.0041ac62
jmp 0x41a955
cmp eax, 0x17
jne 0x41a831
mov eax, dword [ebp - 0xf0]
call fcn.0041ac22
jmp 0x41a955
cmp eax, 0x19
jne 0x41a848
mov eax, dword [ebp - 0xf0]
call fcn.0041abf2
jmp 0x41a955
cmp eax, 0x1a
jne 0x41a85f
mov eax, dword [ebp - 0xf0]
call fcn.0041abb2
jmp 0x41a955
cmp eax, 0x1b
jne 0x41a876
mov eax, dword [ebp - 0xf0]
call fcn.0041ab72
jmp 0x41a955
cmp eax, 0x1c
jne 0x41a88d
mov eax, dword [ebp - 0xf0]
call fcn.0041ab32
jmp 0x41a955
cmp eax, 0x1e
jne 0x41a8a4
mov eax, dword [ebp - 0xf0]
call fcn.00415582
jmp 0x41a955
cmp eax, 0x1f
jne 0x41a8bb
mov eax, dword [ebp - 0xf0]
call fcn.0041aaf2
jmp 0x41a955
cmp eax, 0x20
jne 0x41a8d2
mov eax, dword [ebp - 0xf0]
call fcn.0041aab2
jmp 0x41a955
cmp eax, 0x21
jne 0x41a8e6
mov eax, dword [ebp - 0xf0]
call fcn.0041aa72
jmp 0x41a955
cmp eax, 0x23
jne 0x41a8fa
mov eax, dword [ebp - 0xf0]
call fcn.004198a2
jmp 0x41a955
cmp eax, 0x24
jne 0x41a90e
mov eax, dword [ebp - 0xf0]
call fcn.0041aa32
jmp 0x41a955
cmp eax, 0x25
jne 0x41a922
mov eax, dword [ebp - 0xf0]
call fcn.0041a9f2
jmp 0x41a955
cmp eax, 0x26
jne 0x41a936
mov eax, dword [ebp - 0xf0]
call fcn.0041a9b2
jmp 0x41a955
cmp eax, 0xa
jne 0x41a94a
mov eax, dword [ebp - 0xf0]
call fcn.00419962
jmp 0x41a955
mov eax, dword [ebp - 0xf0]
call fcn.00419872
mov eax, dword [0x4a91ad]
mov word [eax + 0xb7f], 0
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
mov cl, byte [ebp + 0x1c]
push ecx
call fcn.00408750
mov al, byte [ebp + 0x24]
push eax
mov bl, byte [ebp + 0x20]
push ebx
lea ecx, [ebp - 0x1f0]
push ecx
lea edx, [ebp - 0x94]
push edx
push 1
movsx eax, word [ebp + 0x1c]
push eax
call fcn.00401cd0
lea eax, [ebp - 0x1f0]
push eax
call fcn.00404180
mov al, byte [ebp - 0xb0]
pop edx
pop ecx
pop ebx
leave
ret 0x20