Function at 0x422af0
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.00419962
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.00413dd0
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.00408750
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404180
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 0x422e16
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 0x422da9
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 0x422cc9
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 0x422e1f
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.004198d2
lea ecx, [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xfc]
call fcn.00412262
mov byte [ebp - 0x20], al
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
cmp byte [ebp - 0x20], 1
jne 0x422ec4
mov al, byte [ebp - 0xe4]
test al, al
je 0x422ec4
mov ebx, 1
jmp 0x422ec9
mov ebx, 0
mov byte [ebp - 0xe8], bl
test bl, bl
jne 0x422efa
cmp byte [ebp - 0x20], 0
jne 0x422f01
movzx eax, word [ebp - 0x10]
mov esi, 0x49a16c
push 0x170028
call fcn.0040148e
test al, al
je 0x422f01
mov al, byte [ebp - 0xe4]
test al, al
je 0x422f01
mov eax, 1
jmp 0x422f06
mov eax, 0
mov byte [ebp - 0xe8], al
test al, al
je 0x422f87
lea edi, [ebp - 0x50]
mov esi, 0x49a16f
push 0x17
call fcn.00401950
movsx eax, word [ebp + 8]
test eax, eax
jle 0x422f6f
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 0x422f37
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404180
mov byte [ebp - 0xe4], 0
mov al, byte [ebp - 0x20]
cmp al, 1
jne 0x423398
cmp word [ebp - 0xa0], 0
jle 0x423393
mov bl, byte [ebp - 0xf0]
test bl, bl
je 0x422fcc
cmp word [ebp + 8], 3
jl 0x422fc3
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 3
jmp 0x422fca
mov byte [ebp - 0xf4], 0
jmp 0x422fdc
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 2
mov al, byte [ebp - 0xf4]
test al, al
je 0x423393
mov bl, byte [ebp - 0xdc]
test bl, bl
jne 0x42309f
movsx ecx, word [ebp + 8]
movsx edx, word [ebp - 0xb0]
sub edx, ecx
jg 0x42309d
dec edx
mov word [ebp - 0x104], dx
mov word [ebp - 0x9c], cx
jmp 0x423024
dec word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
dec eax
lea esi, [ebp - 0xc4]
push 0x160101
call fcn.0040148e
test al, al
je 0x42306d
cmp word [ebp - 0x9c], 2
jle 0x42305f
movsx eax, word [ebp - 0x9c]
movsx ebx, ax
mov cl, byte [ebp + eax - 0x52]
mov byte [ebp + ebx - 0x50], cl
jmp 0x42306b
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x20
jmp 0x423094
movsx eax, word [ebp - 0x9c]
push 0x160101
call fcn.0040148e
test al, al
jne 0x423094
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 0x42301d
jmp 0x42310d
movsx ecx, word [ebp + 8]
cmp byte [ebp + ecx - 0x50], 0x2e
jne 0x4230ca
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 0x42310d
dec ebx
mov word [ebp - 0x108], bx
mov word [ebp - 0x9c], ax
jmp 0x4230f2
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 0x4230eb
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xf0]
test al, al
je 0x42312d
mov word [ebp - 0x9c], 1
mov byte [ebp - 0x4e], 0x20
jmp 0x42313a
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 0x42316f
mov byte [ebp - 0xd8], 0
mov al, byte [ebp - 0xd8]
test al, al
je 0x4231a2
movsx ebx, word [ebp - 0x9c]
lea esi, [ebp - 0xc4]
mov eax, ebx
push 0x160101
call fcn.0040148e
test al, al
je 0x4231a2
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x20
mov al, byte [ebp - 0xd8]
test al, al
je 0x4231b9
mov bx, word [ebp - 0x9c]
cmp word [ebp + 8], bx
jg 0x42313a
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404180
movsx edx, word [ebp - 0xa0]
dec edx
mov word [ebp - 0xa0], dx
mov al, byte [ebp - 0xf8]
test al, al
jne 0x423393
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 0x423393
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.0040c080
fstp qword [ebp - 0x2c]
wait
push 0x49a178
lea eax, [ebp - 0x50]
push eax
call fcn.0040ca80
mov word [ebp - 0xa4], ax
cmp ax, 0
jle 0x4232a6
cmp word [ebp + 8], ax
jle 0x42329b
movsx ebx, ax
movsx eax, word [ebp + 8]
sub eax, ebx
mov word [ebp - 0xa4], ax
jmp 0x4232a4
mov word [ebp - 0xa4], 0xffff
jmp 0x4232af
mov word [ebp - 0xa4], 0
cmp word [ebp - 0xa4], 0
jl 0x4232db
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.004244c0
jmp 0x42331f
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.004244c0
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.00404180
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423393
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 0x42338a
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x10c]
jne 0x423351
jmp 0x4242ca
cmp al, 0
jne 0x4240f9
movzx ebx, word [ebp - 0x10]
mov eax, ebx
cmp eax, 3
jne 0x4234ac
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x4234a7
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 0x4234a2
lea eax, [ebp - 0x24]
push eax
movsx ebx, word [ebp + 8]
inc ebx
push ebx
call fcn.00403930
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.00413dd0
lea eax, [ebp - 0x30c]
push eax
call fcn.004189e0
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.00413dd0
lea eax, [ebp - 0x30c]
push eax
call fcn.004189e0
movzx ebx, byte [ebp - 0x20c]
inc ebx
push ebx
call fcn.0041bb10
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.00403100
call sub.user32.dll_CloseClipboard
jmp 0x4240f4
cmp eax, 0x16
jne 0x423bbe
mov eax, dword [0x4a91ad]
push dword [eax + 0xaf5]
call sub.user32.dll_OpenClipboard
test al, al
je 0x423bb9
push 1
call sub.user32.dll_GetClipboardData
mov dword [ebp - 0x14], eax
push eax
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x8000
je 0x423bb4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalFlags
cmp eax, 0x4000
je 0x423bb4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalSize
dec eax
mov dword [ebp - 0x18], eax
test eax, eax
jbe 0x423bb4
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0x30], eax
test eax, eax
je 0x423bb4
mov dword [ebp - 0x34], eax
lea edi, [ebp - 0x98]
mov esi, 0x49a17f
push 0x17
call fcn.00401950
cmp dword [ebp - 0x18], 0x80
jbe 0x42354a
mov dword [ebp - 0x18], 0x80
mov word [ebp - 0x9c], 0
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xd8]
test al, al
je 0x423600
movsx ebx, word [ebp - 0x9c]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jl 0x423578
cmp ebx, ecx
jge 0x423600
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 0x4235fb
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 0x42355a
lea edi, [ebp - 0x80]
lea esi, [ebp - 0x98]
push 0x17
call fcn.00401950
push 0x49a18c
mov eax, esi
push eax
call fcn.0040ca80
mov byte [ebp - 0x38], al
push 0x49a18f
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca80
mov byte [ebp - 0x37], al
push 0x49a192
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca80
mov byte [ebp - 0x36], al
push 0x49a195
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca80
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x38], 0
jbe 0x423679
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x38]
push eax
push 2
call fcn.0040ca30
jmp 0x4236cc
cmp byte [ebp - 0x37], 0
jbe 0x423696
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x37]
push eax
push 2
call fcn.0040ca30
jmp 0x4236cc
cmp byte [ebp - 0x36], 0
jbe 0x4236b3
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x36]
push eax
push 2
call fcn.0040ca30
jmp 0x4236cc
cmp al, 0
jbe 0x4236cc
push 0x17
lea ebx, [ebp - 0x98]
push ebx
movzx eax, byte [ebp - 0x35]
push eax
push 2
call fcn.0040ca30
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 0x423737
movsx ebx, word [ebp - 0x9c]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jl 0x423706
cmp ebx, ecx
jge 0x423737
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 0x4236ec
mov al, byte [ebp - 0xd8]
test al, al
je 0x423bac
push 0x49a19b
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca80
mov word [ebp - 0x9c], ax
push 0x49a19d
lea ebx, [ebp - 0x98]
push ebx
call fcn.0040ca80
mov word [ebp - 0xb0], ax
mov bx, word [ebp - 0x9c]
cmp word [ebp - 0xb0], bx
jge 0x4237f1
movzx eax, byte [ebp - 0x98]
movsx ecx, ax
test ecx, ecx
jle 0x4237f1
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 0x4237d3
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x98], 0x2c
jmp 0x4237e8
cmp ax, 0x2c
jne 0x4237e8
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x98], 0x2e
dec word [ebp - 0x110]
jne 0x4237a3
cmp byte [ebp - 0x38], 0
jbe 0x423873
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.0040c080
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.00424560
push eax
call fcn.00424500
fmulp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a42
cmp byte [ebp - 0x37], 0
jbe 0x4238f5
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.0040c080
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.00424560
push eax
call fcn.00424500
fmulp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a42
cmp byte [ebp - 0x36], 0
jbe 0x423977
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.0040c080
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.00424560
push eax
call fcn.00424500
fdivp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a42
cmp byte [ebp - 0x35], 0
jbe 0x4239f6
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.0040c080
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.00424560
push eax
call fcn.00424500
fdivp st(1)
mov eax, dword [ebp - 0x214]
fstp qword [ebp - 0x2c]
wait
jmp 0x423a42
lea eax, [ebp - 0x98]
push eax
call fcn.0040c080
fstp qword [ebp - 0x2c]
wait
push 0x49a19f
lea eax, [ebp - 0x98]
push eax
call fcn.0040ca80
test eax, eax
jbe 0x423a3a
push 0x49a1a1
lea eax, [ebp - 0x98]
push eax
call fcn.0040ca80
movzx ebx, byte [ebp - 0x98]
sub ebx, eax
mov dword [ebp - 0x18], ebx
jmp 0x423a42
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.0040b730
lea ebx, [ebp - 0x228]
push ebx
call fcn.004189e0
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 0x423ac5
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.0040b730
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x128]
push 0x17
call fcn.00401950
jmp 0x423b38
movzx eax, byte [ebp - 0x50]
inc eax
movsx ecx, bx
cmp eax, ecx
jge 0x423b0b
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.0040b730
lea edi, [ebp - 0x50]
lea esi, [ebp - 0x128]
push 0x17
call fcn.00401950
jmp 0x423b38
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.0040b730
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.00404180
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423bac
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 0x423ba3
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x114]
jne 0x423b6a
push dword [ebp - 0x14]
call sub.kernel32.dll_GlobalUnlock
call sub.user32.dll_CloseClipboard
jmp 0x4240f4
cmp eax, 0x2d
jne 0x423c23
mov al, byte [ebp - 0xf0]
test al, al
jne 0x423bd6
mov ebx, 1
jmp 0x423bdb
mov ebx, 0
mov byte [ebp - 0xf0], bl
test bl, bl
je 0x423bf0
mov word [ebp - 0xb8], 1
jmp 0x423bf9
mov word [ebp - 0xb8], 0
mov al, byte [ebp - 0xf0]
test al, al
je 0x423c09
mov byte [ebp - 0x4f], 0x2d
jmp 0x423c0d
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.00404180
jmp 0x4240f4
cmp eax, 0x2e
je 0x423c35
cmp eax, 0x2c
jne 0x423d43
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 0x423d3e
mov cl, byte [ebp - 0xdc]
test cl, cl
jne 0x423d3e
mov al, byte [ebp - 0xf0]
test al, al
je 0x423cd5
cmp word [ebp + 8], 3
jl 0x423cd3
movsx eax, word [ebp + 8]
dec eax
movsx eax, ax
dec eax
jle 0x423cd1
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 0x423caf
jmp 0x423cd3
jmp 0x423d14
movsx eax, word [ebp + 8]
dec eax
movsx eax, ax
test eax, eax
jle 0x423d14
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 0x423cf2
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.00404180
jmp 0x4240f4
cmp eax, 0x39
jg 0x4240f4
cmp eax, 0x30
jl 0x4240f4
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 0x423f05
mov al, byte [ebp - 0xf8]
test al, al
je 0x423f05
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.0040c080
fstp qword [ebp - 0x2c]
wait
push 0x49a1d4
lea eax, [ebp - 0x50]
push eax
call fcn.0040ca80
mov word [ebp - 0xa4], ax
cmp ax, 0
jle 0x423e66
cmp word [ebp + 8], ax
jne 0x423e54
mov word [ebp - 0xa4], 0xffff
jmp 0x423e64
movsx ebx, ax
movsx eax, word [ebp + 8]
sub eax, ebx
mov word [ebp - 0xa4], ax
jmp 0x423e6f
mov word [ebp - 0xa4], 0
cmp word [ebp - 0xa4], 0
jl 0x423e9b
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.0040b7e0
add esp, 8
mov byte [ebp - 0xe0], 1
mov word [ebp - 0xa0], 0
movsx eax, word [ebp + 8]
test eax, eax
jle 0x423f05
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 0x423efc
movsx eax, word [ebp - 0xa0]
inc eax
mov word [ebp - 0xa0], ax
dec word [ebp - 0x120]
jne 0x423ec3
mov al, byte [ebp - 0xe0]
test al, al
jne 0x423f1d
mov bl, byte [ebp - 0xf8]
test bl, bl
jne 0x423d59
mov al, byte [ebp - 0xe0]
test al, al
je 0x4240f4
mov bl, byte [ebp - 0xf0]
test bl, bl
je 0x423f57
cmp word [ebp + 8], 3
jl 0x423f4e
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 2
jmp 0x423f55
mov byte [ebp - 0xf4], 0
jmp 0x423f67
mov byte [ebp - 0xf4], 1
mov word [ebp - 0xb0], 1
mov al, byte [ebp - 0xf4]
test al, al
je 0x4240f4
mov bl, byte [ebp - 0xdc]
test bl, bl
jne 0x424080
mov byte [ebp - 0xd8], 0
movsx eax, word [ebp - 0xb0]
movsx ebx, word [ebp + 8]
dec ebx
movsx ebx, bx
sub ebx, eax
jl 0x42407e
inc ebx
mov word [ebp - 0x124], bx
mov word [ebp - 0x9c], ax
jmp 0x423fbb
inc word [ebp - 0x9c]
movsx eax, word [ebp - 0x9c]
lea esi, [ebp - 0xbc]
push 0x160101
call fcn.0040148e
test al, al
je 0x423fe8
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 0x424015
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 0x42403e
mov byte [ebp - 0xd8], 1
mov al, byte [ebp - 0xd8]
test al, al
je 0x424071
movsx ebx, word [ebp - 0x9c]
lea esi, [ebp - 0xc4]
mov eax, ebx
push 0x160101
call fcn.0040148e
test al, al
je 0x424071
movsx eax, word [ebp - 0x9c]
mov byte [ebp + eax - 0x50], 0x2c
dec word [ebp - 0x124]
jne 0x423fb4
jmp 0x4240c8
movsx ecx, word [ebp - 0xb0]
movsx edx, word [ebp + 8]
dec edx
movsx edx, dx
sub edx, ecx
jl 0x4240c8
inc edx
mov word [ebp - 0x128], dx
mov word [ebp - 0x9c], cx
jmp 0x4240ad
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 0x4240a6
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.00404180
movsx edx, word [ebp - 0xa0]
inc edx
mov word [ebp - 0xa0], dx
jmp 0x4242ca
cmp al, 0x17
jne 0x42415e
lea ebx, [ebp - 0x50]
push ebx
call fcn.0040c080
fstp qword [ebp - 0x2c]
wait
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0041ad60
mov byte [ebp - 0x20], al
cmp al, 0x11
jne 0x424148
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.004244c0
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.00404180
jmp 0x4242ca
cmp al, 0x30
jne 0x42417f
cmp dword [0x4a854c], 0
je 0x424173
call dword [0x4a854c]
jmp 0x42417a
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x31
jne 0x4241a0
cmp dword [0x4a8550], 0
je 0x424194
call dword [0x4a8550]
jmp 0x42419b
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x21
jne 0x4241bb
mov bx, word [ebp - 0x10]
mov word [0x4a91bd], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x20
jne 0x4241d6
mov bx, word [ebp - 0x10]
mov word [0x4a91bf], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x22
jne 0x4241f1
mov bx, word [ebp - 0x10]
mov word [0x4a91c1], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x23
jne 0x42420c
mov bx, word [ebp - 0x10]
mov word [0x4a91c3], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x2d
jne 0x424227
mov bx, word [ebp - 0x10]
mov word [0x4a91c5], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x28
jne 0x424242
mov bx, word [ebp - 0x10]
mov word [0x4a8f97], bx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x26
jne 0x424267
mov bl, byte [ebp - 0x10]
push ebx
mov eax, dword [0x4a91ad]
call fcn.0041ad32
movzx ecx, al
mov word [0x4a91c7], cx
mov byte [ebp - 0xec], 1
jmp 0x4242ca
cmp al, 0x25
je 0x4242c3
cmp al, 0x24
je 0x4242c3
cmp al, 0x1e
je 0x4242c3
cmp al, 9
je 0x4242c3
cmp al, 8
je 0x4242c3
cmp al, 0xb
je 0x4242c3
cmp al, 0xa
je 0x4242c3
cmp al, 4
je 0x4242c3
cmp al, 5
je 0x4242c3
cmp al, 0xf
je 0x4242c3
cmp al, 0xe
je 0x4242c3
cmp al, 0x27
je 0x4242c3
cmp al, 0x29
je 0x4242c3
cmp al, 0x2a
je 0x4242c3
cmp al, 0x10
je 0x4242c3
cmp al, 0xd
je 0x4242c3
cmp al, 0x2b
je 0x4242c3
cmp al, 0x1c
ja 0x4242b3
cmp al, 0x18
jae 0x4242c3
cmp al, 0x16
ja 0x4242bb
cmp al, 0x11
jae 0x4242c3
cmp al, 3
je 0x4242c3
cmp al, 6
jne 0x4242ca
mov byte [ebp - 0xec], 1
mov al, byte [ebp - 0xec]
test al, al
je 0x422e6e
mov edi, dword [0x4a91ad]
mov dword [ebp - 0x12c], edi
movsx eax, word [edi + 0xb7f]
cmp eax, 0x14
jne 0x424302
mov eax, dword [ebp - 0x12c]
call fcn.0040b4b2
jmp 0x42446b
cmp eax, 0x15
jne 0x424319
mov eax, dword [ebp - 0x12c]
call fcn.0041aca2
jmp 0x42446b
cmp eax, 0x16
jne 0x424330
mov eax, dword [ebp - 0x12c]
call fcn.0041ac62
jmp 0x42446b
cmp eax, 0x17
jne 0x424347
mov eax, dword [ebp - 0x12c]
call fcn.0041ac22
jmp 0x42446b
cmp eax, 0x19
jne 0x42435e
mov eax, dword [ebp - 0x12c]
call fcn.0041abf2
jmp 0x42446b
cmp eax, 0x1a
jne 0x424375
mov eax, dword [ebp - 0x12c]
call fcn.0041abb2
jmp 0x42446b
cmp eax, 0x1b
jne 0x42438c
mov eax, dword [ebp - 0x12c]
call fcn.0041ab72
jmp 0x42446b
cmp eax, 0x1c
jne 0x4243a3
mov eax, dword [ebp - 0x12c]
call fcn.0041ab32
jmp 0x42446b
cmp eax, 0x1e
jne 0x4243ba
mov eax, dword [ebp - 0x12c]
call fcn.00415582
jmp 0x42446b
cmp eax, 0x1f
jne 0x4243d1
mov eax, dword [ebp - 0x12c]
call fcn.0041aaf2
jmp 0x42446b
cmp eax, 0x20
jne 0x4243e8
mov eax, dword [ebp - 0x12c]
call fcn.0041aab2
jmp 0x42446b
cmp eax, 0x21
jne 0x4243fc
mov eax, dword [ebp - 0x12c]
call fcn.0041aa72
jmp 0x42446b
cmp eax, 0x23
jne 0x424410
mov eax, dword [ebp - 0x12c]
call fcn.004198a2
jmp 0x42446b
cmp eax, 0x24
jne 0x424424
mov eax, dword [ebp - 0x12c]
call fcn.0041aa32
jmp 0x42446b
cmp eax, 0x25
jne 0x424438
mov eax, dword [ebp - 0x12c]
call fcn.0041a9f2
jmp 0x42446b
cmp eax, 0x26
jne 0x42444c
mov eax, dword [ebp - 0x12c]
call fcn.0041a9b2
jmp 0x42446b
cmp eax, 0xa
jne 0x424460
mov eax, dword [ebp - 0x12c]
call fcn.00419962
jmp 0x42446b
mov eax, dword [ebp - 0x12c]
call fcn.00419872
mov eax, dword [0x4a91ad]
mov word [eax + 0xb7f], 0
cmp word [ebp - 0xa0], 0
jg 0x424490
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.00408750
mov al, byte [ebp + 0x10]
push eax
mov bl, byte [ebp + 0xc]
push ebx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00404180
mov al, byte [ebp - 0x20]
pop edx
pop ecx
pop ebx
leave
ret 0xc