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

Disassembly:
enter 0x310, 1
push ebx
push ecx
push edx
mov dword [ebp - 8], esp
mov eax, dword [0x4a91ad]
movsx ebx, word [ebp + 0x10]
movsx ecx, word [ebp + 0xc]
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.00419952
lea ebx, [ebp - 0x1f8]
push ebx
mov al, byte [ebp + 0x10]
push eax
mov cl, byte [ebp + 0xc]
push ecx
mov al, byte [ebp + 8]
push eax
call fcn.00413dc0
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x1f8]
push 0x17
call fcn.00401950
mov byte [ebp - 0xe4], 1
lea edi, [ebp - 0x68]
lea esi, [ebp - 0x50]
push 0x17
call fcn.00401950
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
mov cl, byte [ebp + 8]
push ecx
call fcn.00408740
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
mov byte [ebp - 0xdc], 0
mov byte [ebp - 0xf0], 0
cmp word [ebp + 8], 3
setg al
mov byte [ebp - 0xf8], al
push 0
mov bl, byte [ebp + 8]
push ebx
push 1
push 1
push 0x49a0c2
lea edi, [ebp - 0x118]
call fcn.00401403
lea esi, [ebp - 0x118]
lea edi, [ebp - 0x11c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x11c]
lea edi, [ebp - 0xbc]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x49a0e2
lea edi, [ebp - 0xc0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x49a0e5
lea edi, [ebp - 0xc4]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp word [ebp + 8], 3
jle 0x422e06
mov word [ebp - 0xb4], 1
movsx eax, word [ebp + 8]
sub eax, 4
push eax
push 1
push 0
push 0x49a0e8
lea edi, [ebp - 0x118]
call fcn.00401403
lea esi, [ebp - 0x118]
lea edi, [ebp - 0x11c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x11c]
lea edi, [ebp - 0xc0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
movsx eax, word [ebp + 8]
sub eax, 3
push eax
push 1
push 0
push 0x49a108
lea edi, [ebp - 0x118]
call fcn.00401403
lea esi, [ebp - 0x118]
lea edi, [ebp - 0x11c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x11c]
lea edi, [ebp - 0xc4]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
movsx eax, word [ebp + 8]
sub eax, 3
mov word [ebp - 0xa4], ax
mov word [ebp - 0xa0], 1
mov edi, dword [0x49a128]
movsx eax, word [ebp + 8]
cdq
idiv edi
inc eax
mov word [ebp - 0xa8], ax
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
movsx ebx, word [ebp - 0xa4]
sub ebx, 4
mov word [ebp - 0xa4], bx
cmp bx, 0
jle 0x422d99
mov al, byte [ebp - 0xa4]
push eax
push 1
push 0
push 0x49a12c
lea edi, [ebp - 0x138]
call fcn.00401403
lea ebx, [ebp - 0x138]
push ebx
lea esi, [ebp - 0xc4]
lea edi, [ebp - 0x118]
push 0x20040320
call fcn.004014cf
mov esi, edi
lea edi, [ebp - 0x13c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x13c]
lea edi, [ebp - 0xc4]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
movsx eax, word [ebp - 0xa4]
dec eax
push eax
push 1
push 0
push 0x49a14c
lea edi, [ebp - 0x138]
call fcn.00401403
lea eax, [ebp - 0x138]
push eax
lea esi, [ebp - 0xc0]
lea edi, [ebp - 0x118]
push 0x20040320
call fcn.004014cf
mov esi, edi
lea edi, [ebp - 0x13c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x13c]
lea edi, [ebp - 0xc0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ax, word [ebp - 0xa0]
cmp word [ebp - 0xa8], ax
jg 0x422cb9
lea ebx, [ebp - 0xc4]
push ebx
lea ecx, [ebp - 0xc0]
push ecx
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0x138]
push 0x3040320
call fcn.00401509
mov esi, edi
lea edi, [ebp - 0x118]
push 0x3212020
call fcn.00401509
mov esi, edi
lea edi, [ebp - 0x13c]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x13c]
lea edi, [ebp - 0xbc]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422e0f
mov word [ebp - 0xb4], 0
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0xc8]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0xc0]
lea edi, [ebp - 0xcc]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0xc4]
lea edi, [ebp - 0xd0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov word [ebp - 0xa0], 0
mov word [ebp - 0xac], 0
mov byte [ebp - 0xec], 0
mov word [ebp - 0xb8], 0
mov eax, dword [0x4a91ad]
mov dword [ebp - 0xfc], eax
movsx ebx, word [ebp + 8]
movsx eax, word [ebp + 0x10]
add eax, ebx
dec eax
push eax
mov al, byte [ebp + 0xc]
push eax
mov eax, dword [ebp - 0xfc]
call fcn.004198c2
lea ecx, [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xfc]
call fcn.00412252
mov byte [ebp - 0x20], al
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
cmp byte [ebp - 0x20], 1
jne 0x422eb4
mov al, byte [ebp - 0xe4]
test al, al
je 0x422eb4
mov ebx, 1
jmp 0x422eb9
mov ebx, 0
mov byte [ebp - 0xe8], bl
test bl, bl
jne 0x422eea
cmp byte [ebp - 0x20], 0
jne 0x422ef1
movzx eax, word [ebp - 0x10]
mov esi, 0x49a16c
push 0x170028
call fcn.0040148e
test al, al
je 0x422ef1
mov al, byte [ebp - 0xe4]
test al, al
je 0x422ef1
mov eax, 1
jmp 0x422ef6
mov eax, 0
mov byte [ebp - 0xe8], al
test al, al
je 0x422f77
lea edi, [ebp - 0x50]
mov esi, 0x49a16f
push 0x17
call fcn.00401950
movsx eax, word [ebp + 8]
test eax, eax
jle 0x422f5f
mov word [ebp - 0x100], ax
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x200]
call fcn.00401b30
mov esi, 0x49a170
call fcn.00401af0
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x200]
push 0x17
call fcn.00401950
dec word [ebp - 0x100]
jne 0x422f27
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
mov byte [ebp - 0xe4], 0
mov al, byte [ebp - 0x20]
cmp al, 1
jne 0x423388
cmp word [ebp - 0xa0], 0
jle 0x423383
mov bl, byte [ebp - 0xf0]
test bl, bl
je 0x422fbc
cmp word [ebp + 8], 3
jl 0x422fb3
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 3
jmp 0x422fba
mov byte [ebp - 0xf4], 0
jmp 0x422fcc
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 2
mov al, byte [ebp - 0xf4]
test al, al
je 0x423383
mov bl, byte [ebp - 0xdc]
test bl, bl
jne 0x42308f
movsx ecx, word [ebp + 8]
movsx edx, word [ebp - 0xb0]
sub edx, ecx
jg 0x42308d
dec edx
mov word [ebp - 0x104], dx
mov word [ebp - 0x9c], cx
jmp 0x423014
dec word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
dec eax
lea esi, [ebp - 0xc4]
push 0x160101
call fcn.0040148e
test al, al
je 0x42305d
cmp word [ebp - 0x9c], 2
jle 0x42304f
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x52]
mov byte [ebp + ebx - 0x50], cl
jmp 0x42305b
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x20
jmp 0x423084
movsx eax, word [ebp - 0x9c]
push 0x160101
call fcn.0040148e
test al, al
jne 0x423084
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x51]
mov byte [ebp + ebx - 0x50], cl
inc word [ebp - 0x104]
jne 0x42300d
jmp 0x4230fd
movsx ecx, word [ebp + 8]
cmp byte [ebp + ecx - 0x50], 0x2e
jne 0x4230ba
mov byte [ebp - 0xdc], 0
mov word [ebp - 0xac], 0
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
movsx eax, word [ebp + 8]
movsx ebx, word [ebp - 0xb0]
sub ebx, eax
jg 0x4230fd
dec ebx
mov word [ebp - 0x108], bx
mov word [ebp - 0x9c], ax
jmp 0x4230e2
dec word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x51]
mov byte [ebp + ebx - 0x50], cl
inc word [ebp - 0x108]
jne 0x4230db
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xf0]
test al, al
je 0x42311d
mov word [ebp - 0x9c], 1
mov byte [ebp - 0x4e], 0x20
jmp 0x42312a
mov word [ebp - 0x9c], 0
mov byte [ebp - 0x4f], 0x20
movsx eax, word [ebp - 0x9c]
inc eax
mov word [ebp - 0x9c], ax
movsx ebx, ax
movzx eax, byte [ebp + ebx - 0x50]
mov esi, 0x49a172
movzx eax, ax
push 0xf0030
call fcn.0040148e
test al, al
je 0x42315f
mov byte [ebp - 0xd8], 0
mov al, byte [ebp - 0xd8]
test al, al
je 0x423192
movsx ebx, word [ebp - 0x9c]
lea esi, [ebp - 0xc4]
mov eax, ebx
push 0x160101
call fcn.0040148e
test al, al
je 0x423192
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x20
mov al, byte [ebp - 0xd8]
test al, al
je 0x4231a9
mov bx, word [ebp - 0x9c]
cmp word [ebp + 8], bx
jg 0x42312a
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
movsx edx, word [ebp - 0xa0]
dec edx
mov word [ebp - 0xa0], dx
mov al, byte [ebp - 0xf8]
test al, al
jne 0x423383
mov edi, dword [0x49a174]
movsx ebx, word [ebp + 8]
mov eax, ebx
cdq
idiv edi
movsx ebx, word [ebp + 8]
sub ebx, eax
movsx eax, word [ebp - 0xac]
sub ebx, eax
movsx ecx, word [ebp - 0xb8]
sub ebx, ecx
movsx edx, word [ebp - 0xa0]
cmp ebx, edx
jl 0x423383
mov byte [ebp - 0xf8], 1
mov word [ebp - 0xb4], 1
lea esi, [ebp - 0xc8]
lea edi, [ebp - 0xbc]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0xcc]
lea edi, [ebp - 0xc0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0xd0]
lea edi, [ebp - 0xc4]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x50]
push eax
call fcn.0040c070
fstp qword [ebp - 0x2c]
wait
push 0x49a178
lea eax, [ebp - 0x50]
push eax
call fcn.0040ca70
mov word [ebp - 0xa4], ax
cmp ax, 0
jle 0x423296
cmp word [ebp + 8], ax
jle 0x42328b
movsx ebx, ax
movsx eax, word [ebp + 8]
sub eax, ebx
mov word [ebp - 0xa4], ax
jmp 0x423294
mov word [ebp - 0xa4], 0xffff
jmp 0x42329f
mov word [ebp - 0xa4], 0
cmp word [ebp - 0xa4], 0
jl 0x4232cb
lea eax, [ebp - 0x50]
push eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
mov bx, word [ebp - 0xa4]
push ebx
call fcn.004244b0
jmp 0x42330f
lea eax, [ebp - 0x50]
push eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
movsx ebx, word [ebp + 8]
dec ebx
push ebx
push 0
call fcn.004244b0
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x208]
call fcn.00401b30
mov esi, 0x49a17a
call fcn.00401af0
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x208]
push 0x17
call fcn.00401950
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423383
mov word [ebp - 0x10c], ax
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x50]
mov esi, 0x49a17c
movzx eax, bx
push 0x170028
call fcn.0040148e
test al, al
je 0x42337a
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x10c]
jne 0x423341
jmp 0x4242ba
cmp al, 0
jne 0x4240e9
movzx ebx, word [ebp - 0x10]
mov eax, ebx
cmp eax, 3
jne 0x42349c
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x423497
call sub.user32.dll_EmptyClipboard
movsx eax, word [ebp + 8]
inc eax
push eax
push 2
call sub.kernel32.dll_GlobalAlloc
mov dword [ebp - 0x14], eax
push eax
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x8000
je 0x423492
lea eax, [ebp - 0x24]
push eax
movsx ebx, word [ebp + 8]
inc ebx
push ebx
call fcn.00403920
push dword [ebp - 0x24]
lea eax, [ebp - 0x20c]
push eax
lea ebx, [ebp - 0x30c]
push ebx
mov cl, byte [ebp + 0x10]
push ecx
mov dl, byte [ebp + 0xc]
push edx
mov al, byte [ebp + 8]
push eax
call fcn.00413dc0
lea eax, [ebp - 0x30c]
push eax
call fcn.004189d0
lea ebx, [ebp - 0x20c]
push ebx
call fcn.00401a00
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalLock
push eax
push dword [ebp - 0x24]
lea eax, [ebp - 0x20c]
push eax
lea ebx, [ebp - 0x30c]
push ebx
mov cl, byte [ebp + 0x10]
push ecx
mov dl, byte [ebp + 0xc]
push edx
mov al, byte [ebp + 8]
push eax
call fcn.00413dc0
lea eax, [ebp - 0x30c]
push eax
call fcn.004189d0
movzx ebx, byte [ebp - 0x20c]
inc ebx
push ebx
call fcn.0041bb00
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalUnlock
push dword [ebp - 0x14]
push 1
call sub.user32.dll_SetClipboardData
lea eax, [ebp - 0x24]
push eax
movsx ebx, word [ebp + 8]
inc ebx
push ebx
call fcn.004030f0
call sub.user32.dll_CloseClipboard
jmp 0x4240e4
cmp eax, 0x16
jne 0x423bae
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x423ba9
push 1
call sub.user32.dll_GetClipboardData
mov dword [ebp - 0x14], eax
push eax
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x8000
je 0x423ba4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x4000
je 0x423ba4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalSize
dec eax
mov dword [ebp - 0x18], eax
test eax, eax
jbe 0x423ba4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0x30], eax
test eax, eax
je 0x423ba4
mov dword [ebp - 0x34], eax
lea edi, [ebp - 0x98]
mov esi, 0x49a17f
push 0x17
call fcn.00401950
cmp dword [ebp - 0x18], 0x80
jbe 0x42353a
mov dword [ebp - 0x18], 0x80
mov word [ebp - 0x9c], 0
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xd8]
test al, al
je 0x4235f0
movsx ebx, word [ebp - 0x9c]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jl 0x423568
cmp ebx, ecx
jge 0x4235f0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
mov edi, dword [ebp - 0x34]
movzx ebx, byte [edi + eax - 1]
mov esi, 0x49a180
mov eax, ebx
push 0x5f0020
call fcn.0040148e
mov byte [ebp - 0xd8], al
test al, al
je 0x4235eb
lea esi, [ebp - 0x98]
lea edi, [ebp - 0x20c]
call fcn.00401b30
movsx eax, word [ebp - 0x9c]
mov ebx, dword [ebp - 0x34]
lea esi, [ebx + eax - 1]
lea edi, [ebp - 0x30c]
push 1
call fcn.00401d30
mov esi, edi
lea edi, [ebp - 0x20c]
call fcn.00401af0
lea edi, [ebp - 0x98]
lea esi, [ebp - 0x20c]
push 0x17
call fcn.00401950
jmp 0x42354a
lea edi, [ebp - 0x80]
lea esi, [ebp - 0x98]
push 0x17
call fcn.00401950
push 0x49a18c
mov eax, esi
push eax
call fcn.0040ca70
mov byte [ebp - 0x38], al
push 0x49a18f
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca70
mov byte [ebp - 0x37], al
push 0x49a192
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca70
mov byte [ebp - 0x36], al
push 0x49a195
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca70
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x38], 0
jbe 0x423669
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x38]
push eax
push 2
call fcn.0040ca20
jmp 0x4236bc
cmp byte [ebp - 0x37], 0
jbe 0x423686
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x37]
push eax
push 2
call fcn.0040ca20
jmp 0x4236bc
cmp byte [ebp - 0x36], 0
jbe 0x4236a3
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x36]
push eax
push 2
call fcn.0040ca20
jmp 0x4236bc
cmp al, 0
jbe 0x4236bc
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x35]
push eax
push 2
call fcn.0040ca20
movzx eax, byte [ebp - 0x98]
mov dword [ebp - 0x18], eax
mov word [ebp - 0x9c], 0
cmp dword [ebp - 0x18], 0
seta al
mov byte [ebp - 0xd8], al
mov al, byte [ebp - 0xd8]
test al, al
je 0x423727
movsx ebx, word [ebp - 0x9c]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jl 0x4236f6
cmp ebx, ecx
jge 0x423727
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x98]
mov esi, 0x49a198
mov eax, ebx
push 0x170028
call fcn.0040148e
mov byte [ebp - 0xd8], al
jmp 0x4236dc
mov al, byte [ebp - 0xd8]
test al, al
je 0x423b9c
push 0x49a19b
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca70
mov word [ebp - 0x9c], ax
push 0x49a19d
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca70
mov word [ebp - 0xb0], ax
mov bx, word [ebp - 0x9c]
cmp word [ebp - 0xb0], bx
jge 0x4237e1
movzx eax, byte [ebp - 0x98]
movsx ecx, ax
test ecx, ecx
jle 0x4237e1
mov word [ebp - 0x110], cx
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x98]
mov ax, bx
cmp ax, 0x2e
jne 0x4237c3
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x98], 0x2c
jmp 0x4237d8
cmp ax, 0x2c
jne 0x4237d8
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x98], 0x2e
dec word [ebp - 0x110]
jne 0x423793
cmp byte [ebp - 0x38], 0
jbe 0x423863
movzx eax, byte [ebp - 0x38]
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x210]
push eax
lea ebx, [ebp - 0x98]
push ebx
push 1
movzx ecx, byte [ebp - 0x38]
dec ecx
push ecx
call fcn.00401cd0
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040c070
mov dword [ebp - 0x214], eax
lea ebx, [ebp - 0x314]
push ebx
lea eax, [ebp - 0x98]
push eax
movzx ecx, byte [ebp - 0x38]
push ecx
push dword [ebp - 0x18]
call fcn.00401cd0
lea edx, [ebp - 0x314]
push edx
call fcn.00424550
push eax
call fcn.004244f0
fmulp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a32
cmp byte [ebp - 0x37], 0
jbe 0x4238e5
movzx eax, byte [ebp - 0x37]
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x210]
push eax
lea ebx, [ebp - 0x98]
push ebx
push 1
movzx ecx, byte [ebp - 0x37]
dec ecx
push ecx
call fcn.00401cd0
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040c070
mov dword [ebp - 0x214], eax
lea ebx, [ebp - 0x314]
push ebx
lea eax, [ebp - 0x98]
push eax
movzx ecx, byte [ebp - 0x37]
push ecx
push dword [ebp - 0x18]
call fcn.00401cd0
lea edx, [ebp - 0x314]
push edx
call fcn.00424550
push eax
call fcn.004244f0
fmulp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a32
cmp byte [ebp - 0x36], 0
jbe 0x423967
movzx eax, byte [ebp - 0x36]
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x210]
push eax
lea ebx, [ebp - 0x98]
push ebx
push 1
movzx ecx, byte [ebp - 0x36]
dec ecx
push ecx
call fcn.00401cd0
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040c070
mov dword [ebp - 0x214], eax
lea ebx, [ebp - 0x314]
push ebx
lea eax, [ebp - 0x98]
push eax
movzx ecx, byte [ebp - 0x36]
push ecx
push dword [ebp - 0x18]
call fcn.00401cd0
lea edx, [ebp - 0x314]
push edx
call fcn.00424550
push eax
call fcn.004244f0
fdivp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a32
cmp byte [ebp - 0x35], 0
jbe 0x4239e6
movzx eax, byte [ebp - 0x35]
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x210]
push eax
lea ebx, [ebp - 0x98]
push ebx
push 1
movzx ecx, byte [ebp - 0x35]
dec ecx
push ecx
call fcn.00401cd0
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040c070
mov dword [ebp - 0x214], eax
lea ebx, [ebp - 0x314]
push ebx
lea eax, [ebp - 0x98]
push eax
movzx ecx, byte [ebp - 0x35]
push ecx
push dword [ebp - 0x18]
call fcn.00401cd0
lea edx, [ebp - 0x314]
push edx
call fcn.00424550
push eax
call fcn.004244f0
fdivp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a32
lea eax, [ebp - 0x98]
push eax
call fcn.0040c070
fstp qword [ebp - 0x2c]
wait
push 0x49a19f
lea eax, [ebp - 0x98]
push eax
call fcn.0040ca70
test eax, eax
jbe 0x423a2a
push 0x49a1a1
lea eax, [ebp - 0x98]
push eax
call fcn.0040ca70
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
jmp 0x423a32
mov eax, 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x210]
push eax
lea ebx, [ebp - 0x228]
push ebx
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
push 0
call fcn.0040b720
lea ebx, [ebp - 0x228]
push ebx
call fcn.004189d0
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x210]
push 0x17
call fcn.00401950
movzx eax, byte [ebp - 0x50]
add eax, dword [ebp - 0x18]
inc eax
movsx ebx, word [ebp + 8]
cmp eax, ebx
jg 0x423ab5
lea eax, [ebp - 0x128]
push eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
mov bx, word [ebp - 0x18]
push ebx
call fcn.0040b720
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x128]
push 0x17
call fcn.00401950
jmp 0x423b28
movzx eax, byte [ebp - 0x50]
inc eax
movsx ecx, bx
cmp eax, ecx
jge 0x423afb
lea eax, [ebp - 0x128]
push eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
movzx ebx, byte [ebp - 0x50]
movsx ecx, ax
sub ecx, ebx
dec ecx
push ecx
call fcn.0040b720
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x128]
push 0x17
call fcn.00401950
jmp 0x423b28
lea eax, [ebp - 0x128]
push eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
push 0
call fcn.0040b720
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x128]
push 0x17
call fcn.00401950
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423b9c
mov word [ebp - 0x114], ax
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x50]
mov esi, 0x49a1a3
movzx eax, bx
push 0x170028
call fcn.0040148e
test al, al
je 0x423b93
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x114]
jne 0x423b5a
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalUnlock
call sub.user32.dll_CloseClipboard
jmp 0x4240e4
cmp eax, 0x2d
jne 0x423c13
mov al, byte [ebp - 0xf0]
test al, al
jne 0x423bc6
mov ebx, 1
jmp 0x423bcb
mov ebx, 0
mov byte [ebp - 0xf0], bl
test bl, bl
je 0x423be0
mov word [ebp - 0xb8], 1
jmp 0x423be9
mov word [ebp - 0xb8], 0
mov al, byte [ebp - 0xf0]
test al, al
je 0x423bf9
mov byte [ebp - 0x4f], 0x2d
jmp 0x423bfd
mov byte [ebp - 0x4f], 0x20
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
jmp 0x4240e4
cmp eax, 0x2e
je 0x423c25
cmp eax, 0x2c
jne 0x423d33
mov edi, dword [0x49a1a6]
movsx eax, word [ebp + 8]
cdq
idiv edi
movsx ebx, word [ebp - 0xb4]
imul eax, ebx
movsx ecx, word [ebp + 8]
sub ecx, eax
movsx eax, word [ebp - 0xac]
sub ecx, eax
movsx edx, word [ebp - 0xb8]
sub ecx, edx
movsx eax, word [ebp - 0xa0]
cmp ecx, eax
jle 0x423d2e
mov cl, byte [ebp - 0xdc]
test cl, cl
jne 0x423d2e
mov al, byte [ebp - 0xf0]
test al, al
je 0x423cc5
cmp word [ebp + 8], 3
jl 0x423cc3
movsx eax, word [ebp + 8]
dec eax
movsx eax, ax
dec eax
jle 0x423cc1
mov word [ebp - 0x118], ax
mov word [ebp - 0x9c], 1
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x4f]
mov byte [ebp + ebx - 0x50], cl
dec word [ebp - 0x118]
jne 0x423c9f
jmp 0x423cc3
jmp 0x423d04
movsx eax, word [ebp + 8]
dec eax
movsx eax, ax
test eax, eax
jle 0x423d04
mov word [ebp - 0x11c], ax
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x4f]
mov byte [ebp + ebx - 0x50], cl
dec word [ebp - 0x11c]
jne 0x423ce2
mov word [ebp - 0xac], 1
mov byte [ebp - 0xdc], 1
movsx eax, word [ebp + 8]
mov byte [ebp + eax - 0x50], 0x2e
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
jmp 0x4240e4
cmp eax, 0x39
jg 0x4240e4
cmp eax, 0x30
jl 0x4240e4
mov edi, dword [0x49a1aa]
movsx eax, word [ebp + 8]
cdq
idiv edi
movsx ebx, word [ebp - 0xb4]
imul eax, ebx
movsx ecx, word [ebp + 8]
sub ecx, eax
movsx eax, word [ebp - 0xac]
sub ecx, eax
movsx edx, word [ebp - 0xb8]
sub ecx, edx
movsx eax, word [ebp - 0xa0]
cmp ecx, eax
setg cl
mov byte [ebp - 0xe0], cl
test cl, cl
jne 0x423ef5
mov al, byte [ebp - 0xf8]
test al, al
je 0x423ef5
mov byte [ebp - 0xf8], 0
mov word [ebp - 0xb4], 0
push 0
mov al, byte [ebp + 8]
push eax
push 1
push 1
push 0x49a1ae
lea edi, [ebp - 0x13c]
call fcn.00401403
lea esi, [ebp - 0x13c]
lea edi, [ebp - 0x140]
push 0x30000
call fcn.004013e0
lea esi, [ebp - 0x140]
lea edi, [ebp - 0xbc]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x49a1ce
lea edi, [ebp - 0xc0]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x49a1d1
lea edi, [ebp - 0xc4]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x50]
push eax
call fcn.0040c070
fstp qword [ebp - 0x2c]
wait
push 0x49a1d4
lea eax, [ebp - 0x50]
push eax
call fcn.0040ca70
mov word [ebp - 0xa4], ax
cmp ax, 0
jle 0x423e56
cmp word [ebp + 8], ax
jne 0x423e44
mov word [ebp - 0xa4], 0xffff
jmp 0x423e54
movsx ebx, ax
movsx eax, word [ebp + 8]
sub eax, ebx
mov word [ebp - 0xa4], ax
jmp 0x423e5f
mov word [ebp - 0xa4], 0
cmp word [ebp - 0xa4], 0
jl 0x423e8b
push 0x17
lea eax, [ebp - 0x50]
mov byte [eax], 0
push eax
lea eax, [ebp - 0x2c]
push eax
movsx ebx, word [ebp + 8]
push ebx
movsx ecx, word [ebp - 0xa4]
push ecx
call fcn.0040b7d0
add esp, 8
mov byte [ebp - 0xe0], 1
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423ef5
mov word [ebp - 0x120], ax
mov word [ebp - 0x9c], 0
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x50]
mov esi, 0x49a1d6
movzx eax, bx
push 0x170028
call fcn.0040148e
test al, al
je 0x423eec
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x120]
jne 0x423eb3
mov al, byte [ebp - 0xe0]
test al, al
jne 0x423f0d
mov bl, byte [ebp - 0xf8]
test bl, bl
jne 0x423d49
mov al, byte [ebp - 0xe0]
test al, al
je 0x4240e4
mov bl, byte [ebp - 0xf0]
test bl, bl
je 0x423f47
cmp word [ebp + 8], 3
jl 0x423f3e
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 2
jmp 0x423f45
mov byte [ebp - 0xf4], 0
jmp 0x423f57
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 1
mov al, byte [ebp - 0xf4]
test al, al
je 0x4240e4
mov bl, byte [ebp - 0xdc]
test bl, bl
jne 0x424070
mov byte [ebp - 0xd8], 0
movsx eax, word [ebp - 0xb0]
movsx ebx, word [ebp + 8]
dec ebx
movsx ebx, bx
sub ebx, eax
jl 0x42406e
inc ebx
mov word [ebp - 0x124], bx
mov word [ebp - 0x9c], ax
jmp 0x423fab
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
lea esi, [ebp - 0xbc]
push 0x160101
call fcn.0040148e
test al, al
je 0x423fd8
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x4f]
mov byte [ebp + ebx - 0x50], cl
movsx eax, word [ebp - 0x9c]
lea esi, [ebp - 0xc0]
push 0x160101
call fcn.0040148e
test al, al
je 0x424005
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x4e]
mov byte [ebp + ebx - 0x50], cl
movsx eax, word [ebp - 0x9c]
movzx ebx, byte [ebp + eax - 0x50]
mov esi, 0x49a1d9
movzx eax, bx
push 0xf0030
call fcn.0040148e
test al, al
je 0x42402e
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xd8]
test al, al
je 0x424061
movsx ebx, word [ebp - 0x9c]
lea esi, [ebp - 0xc4]
mov eax, ebx
push 0x160101
call fcn.0040148e
test al, al
je 0x424061
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x2c
dec word [ebp - 0x124]
jne 0x423fa4
jmp 0x4240b8
movsx ecx, word [ebp - 0xb0]
movsx edx, word [ebp + 8]
dec edx
movsx edx, dx
sub edx, ecx
jl 0x4240b8
inc edx
mov word [ebp - 0x128], dx
mov word [ebp - 0x9c], cx
jmp 0x42409d
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x4f]
mov byte [ebp + ebx - 0x50], cl
dec word [ebp - 0x128]
jne 0x424096
movsx eax, word [ebp + 8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp + eax - 0x50], bl
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
movsx edx, word [ebp - 0xa0]
inc edx
mov word [ebp - 0xa0], dx
jmp 0x4242ba
cmp al, 0x17
jne 0x42414e
lea ebx, [ebp - 0x50]
push ebx
call fcn.0040c070
fstp qword [ebp - 0x2c]
wait
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0041ad50
mov byte [ebp - 0x20], al
cmp al, 0x11
jne 0x424138
lea ebx, [ebp - 0x50]
push ebx
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
wait
mov ax, word [ebp + 8]
push eax
push 2
call fcn.004244b0
mov word [ebp - 0xa0], 1
mov byte [ebp - 0xec], 1
mov byte [ebp - 0x20], 6
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
jmp 0x4242ba
cmp al, 0x30
jne 0x42416f
cmp dword [0x4a854c], 0
je 0x424163
call dword [0x4a854c]
jmp 0x42416a
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x31
jne 0x424190
cmp dword [0x4a8550], 0
je 0x424184
call dword [0x4a8550]
jmp 0x42418b
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x21
jne 0x4241ab
mov bx, word [ebp - 0x10]
mov word [0x4a91bd], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x20
jne 0x4241c6
mov bx, word [ebp - 0x10]
mov word [0x4a91bf], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x22
jne 0x4241e1
mov bx, word [ebp - 0x10]
mov word [0x4a91c1], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x23
jne 0x4241fc
mov bx, word [ebp - 0x10]
mov word [0x4a91c3], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x2d
jne 0x424217
mov bx, word [ebp - 0x10]
mov word [0x4a91c5], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x28
jne 0x424232
mov bx, word [ebp - 0x10]
mov word [0x4a8f97], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x26
jne 0x424257
mov bl, byte [ebp - 0x10]
push ebx
mov eax, dword [0x4a91ad]
call fcn.0041ad22
movzx ecx, al
mov word [0x4a91c7], cx
mov byte [ebp - 0xec], 1
jmp 0x4242ba
cmp al, 0x25
je 0x4242b3
cmp al, 0x24
je 0x4242b3
cmp al, 0x1e
je 0x4242b3
cmp al, 9
je 0x4242b3
cmp al, 8
je 0x4242b3
cmp al, 0xb
je 0x4242b3
cmp al, 0xa
je 0x4242b3
cmp al, 4
je 0x4242b3
cmp al, 5
je 0x4242b3
cmp al, 0xf
je 0x4242b3
cmp al, 0xe
je 0x4242b3
cmp al, 0x27
je 0x4242b3
cmp al, 0x29
je 0x4242b3
cmp al, 0x2a
je 0x4242b3
cmp al, 0x10
je 0x4242b3
cmp al, 0xd
je 0x4242b3
cmp al, 0x2b
je 0x4242b3
cmp al, 0x1c
ja 0x4242a3
cmp al, 0x18
jae 0x4242b3
cmp al, 0x16
ja 0x4242ab
cmp al, 0x11
jae 0x4242b3
cmp al, 3
je 0x4242b3
cmp al, 6
jne 0x4242ba
mov byte [ebp - 0xec], 1
mov al, byte [ebp - 0xec]
test al, al
je 0x422e5e
mov edi, dword [0x4a91ad]
mov dword [ebp - 0x12c], edi
movsx eax, word [edi + 0xb7f]
cmp eax, 0x14
jne 0x4242f2
mov eax, dword [ebp - 0x12c]
call fcn.0040b4a2
jmp 0x42445b
cmp eax, 0x15
jne 0x424309
mov eax, dword [ebp - 0x12c]
call fcn.0041ac92
jmp 0x42445b
cmp eax, 0x16
jne 0x424320
mov eax, dword [ebp - 0x12c]
call fcn.0041ac52
jmp 0x42445b
cmp eax, 0x17
jne 0x424337
mov eax, dword [ebp - 0x12c]
call fcn.0041ac12
jmp 0x42445b
cmp eax, 0x19
jne 0x42434e
mov eax, dword [ebp - 0x12c]
call fcn.0041abe2
jmp 0x42445b
cmp eax, 0x1a
jne 0x424365
mov eax, dword [ebp - 0x12c]
call fcn.0041aba2
jmp 0x42445b
cmp eax, 0x1b
jne 0x42437c
mov eax, dword [ebp - 0x12c]
call fcn.0041ab62
jmp 0x42445b
cmp eax, 0x1c
jne 0x424393
mov eax, dword [ebp - 0x12c]
call fcn.0041ab22
jmp 0x42445b
cmp eax, 0x1e
jne 0x4243aa
mov eax, dword [ebp - 0x12c]
call fcn.00415572
jmp 0x42445b
cmp eax, 0x1f
jne 0x4243c1
mov eax, dword [ebp - 0x12c]
call fcn.0041aae2
jmp 0x42445b
cmp eax, 0x20
jne 0x4243d8
mov eax, dword [ebp - 0x12c]
call fcn.0041aaa2
jmp 0x42445b
cmp eax, 0x21
jne 0x4243ec
mov eax, dword [ebp - 0x12c]
call fcn.0041aa62
jmp 0x42445b
cmp eax, 0x23
jne 0x424400
mov eax, dword [ebp - 0x12c]
call fcn.00419892
jmp 0x42445b
cmp eax, 0x24
jne 0x424414
mov eax, dword [ebp - 0x12c]
call fcn.0041aa22
jmp 0x42445b
cmp eax, 0x25
jne 0x424428
mov eax, dword [ebp - 0x12c]
call fcn.0041a9e2
jmp 0x42445b
cmp eax, 0x26
jne 0x42443c
mov eax, dword [ebp - 0x12c]
call fcn.0041a9a2
jmp 0x42445b
cmp eax, 0xa
jne 0x424450
mov eax, dword [ebp - 0x12c]
call fcn.00419952
jmp 0x42445b
mov eax, dword [ebp - 0x12c]
call fcn.00419862
mov eax, dword [0x4a91ad]
mov word [eax + 0xb7f], 0
cmp word [ebp - 0xa0], 0
jg 0x424480
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x68]
push 0x17
call fcn.00401950
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
mov cl, byte [ebp + 8]
push ecx
call fcn.00408740
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404170
mov al, byte [ebp - 0x20]
pop edx
pop ecx
pop ebx
leave
ret 0xc