Function at 0x46acb0
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
sub esp, 8
mov eax, ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [esp], eax
jne 0x46acc5
fld1
fstp dword [eax + 0x18]
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
cmp eax, 0xd1
push esi
ja case.default.0x46ace1
movzx eax, byte [eax + 0x46ba30]
push ebp
push edi
jmp dword [eax*4 + 0x46b944]
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], 0
je case.0x46ace1.0
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46acf8
mov cx, word [0x4d0384]
mov word [edi], cx
jmp case.0x46ace1.58
test ecx, ecx
jne case.0x46ace1.58
cmp dword [sym.XR_3DA.exe_class_IGame_Level__g_pGameLevel], ecx
jne 0x46ad4f
mov eax, dword [sym.XR_3DA.exe_class_IGame_Persistent__g_pGamePersistent]
test eax, eax
je case.0x46ace1.58
cmp dword [eax + 0x468], ecx
je case.0x46ace1.58
mov ecx, dword [eax + 0x468]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
test al, al
je case.0x46ace1.58
mov ecx, dword [esp + 0xc]
call sym.XR_3DA.exe_public:_void___thiscall_CConsole::Hide_void_
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
add dword [eax + 0x34], 1
mov esi, dword [eax + 0x34]
mov edi, dword [0x4c4558]
mov eax, dword [edi]
call fcn.0042b470
sub eax, 1
cmp esi, eax
jle case.0x46ace1.58
mov eax, dword [edi]
call fcn.0042b470
mov ecx, dword [esp + 0xc]
sub eax, 1
mov dword [ecx + 0x34], eax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
add dword [eax + 0x34], 0xffffffff
jns case.0x46ace1.58
mov edx, eax
mov dword [edx + 0x34], 0
jmp case.0x46ace1.58
mov ebp, dword [esp + 0xc]
lea esi, [ebp + 0x38]
push 0x4d0388
push esi
call dword [0x4c421c]
add esp, 8
cmp esi, eax
jne 0x46ade3
mov eax, 0x4d0388
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46add4
sub eax, edx
mov edi, eax
jmp 0x46ade5
xor edi, edi
lea esi, [edi + ebp + 0x38]
lea eax, [esp + 0x18]
add ebp, 0x484
push eax
mov eax, ebp
mov dword [esp + 0x1c], esi
call fcn.0045b0b0
push eax
lea ecx, [esp + 0x20]
call fcn.0041ca20
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.0041a340
push eax
lea ecx, [esp + 0x20]
call fcn.0041ca70
test al, al
je case.0x46ace1.58
mov edx, dword [esp + 0x1c]
push edx
call fcn.0041d820
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
push eax
mov ecx, 0x400
sub ecx, edi
push ecx
push esi
call dword [0x4c422c]
add esp, 0x10
add esi, 0xffffffff
lea ecx, [ecx]
mov al, byte [esi + 1]
add esi, 1
test al, al
jne 0x46ae50
mov dx, word [str.___23_4_5678_9_abcdfghijklmnopqrtuvw______.___]
mov edi, esi
mov word [edi], dx
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
add dword [ecx + 0x1c], 0xffffffff
call sym.XR_3DA.exe_public:_void___thiscall_CConsole::SelectCommand_void_
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
add dword [ecx + 0x1c], 1
call sym.XR_3DA.exe_public:_void___thiscall_CConsole::SelectCommand_void_
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
add eax, 0x38
mov ecx, eax
lea esi, [ecx + 1]
jmp 0x46aea0
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x46aea0
sub ecx, esi
je case.0x46ace1.58
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46aeb4
mov ecx, dword [esp + 0xc]
sub eax, edx
mov byte [eax + ecx + 0x37], 0
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
mov dword [edx + 0x28], 1
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46af08
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46aef0
mov ax, word [0x4d0390]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46af08
mov cx, word [0x4ca640]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46af50
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46af31
mov dx, word [0x4d0394]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46af50
mov ax, word [0x4d0398]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46af91
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46af78
mov cx, word [0x4d039c]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46af91
mov dx, word [0x4d03a0]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46afd8
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46afc0
mov ax, word [0x4d03a4]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46afd8
mov cx, word [0x4d03a8]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b020
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b001
mov dx, word [0x4d03ac]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b020
mov ax, word [0x4d03b0]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b061
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b048
mov cx, word [0x4d03b4]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b061
mov dx, word [0x4d03b8]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b0a8
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b090
mov ax, word [0x4d03bc]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b0a8
mov cx, word [0x4d03c0]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b0f0
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b0d1
mov dx, word [0x4d04f8]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b0f0
mov ax, word [0x4d03c4]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b131
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b118
mov cx, word [0x4d03c8]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b131
mov dx, word [0x4d03cc]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b178
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b160
mov ax, word [0x4d03d0]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b178
mov cx, word [0x4c9ee4]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
jmp 0x46b1a0
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b1a0
mov ax, word [0x4d03d4]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b1c2
mov dx, word [0x4d03d8]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b1e5
mov cx, word [0x4d03dc]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b208
mov ax, word [0x4d03e0]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b230
mov dx, word [0x4d04fc]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b253
mov cx, word [0x4d03e4]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b276
mov ax, word [0x4d03e8]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b298
mov dx, word [0x4d03ec]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
jmp 0x46b2c0
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b2c0
mov cx, word [0x4d03f0]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b2e3
mov ax, word [0x4d03f4]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b305
mov dx, word [0x4d03f8]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b328
mov cx, word [0x4d03fc]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
jmp 0x46b350
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b350
mov ax, word [0x4d0400]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b372
mov dx, word [0x4d0404]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b395
mov cx, word [0x4d0408]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b3b8
mov ax, word [0x4d040c]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b3e0
mov dx, word [0x4d0410]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b403
mov cx, word [0x4d0414]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b426
mov ax, word [0x4cdd24]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b448
mov dx, word [0x4d0418]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
jmp 0x46b470
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b470
mov cx, word [0x4d041c]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b493
mov ax, word [0x4d0420]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b4b5
mov dx, word [0x4d0424]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b4d8
mov cx, word [0x4cf984]
mov word [edi], cx
jmp case.0x46ace1.58
mov edx, dword [esp + 0xc]
lea edi, [edx + 0x38]
add edi, 0xffffffff
jmp 0x46b500
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b500
mov ax, word [0x4cf988]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b522
mov dx, word [0x4cf98c]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b545
mov cx, word [str.___23_4_5678_9_abcdfghijklmnopqrtuvw______.___]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b590
mov edi, edi
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b570
mov dx, word [0x4cf900]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b590
mov ax, word [0x4ca248]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b5d1
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b5b8
mov cx, word [0x4d0428]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b5d1
mov dx, word [0x4d042c]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b618
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b600
mov ax, word [0x4d0430]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b618
mov cx, word [0x4d0434]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b660
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b641
mov dx, word [0x4d0438]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b660
mov ax, word [0x4d043c]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b6a1
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b688
mov cx, word [0x4d0440]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b6a1
mov dx, word [0x4d0444]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b6e8
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b6d0
mov ax, word [0x4d0448]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b6e8
mov cx, word [0x4d044c]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b730
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b711
mov dx, word [0x4d0450]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b730
mov ax, word [0x4d0454]
mov word [edi], ax
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b771
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b758
mov cx, word [0x4d0458]
mov word [edi], cx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b771
mov dx, word [0x4d045c]
mov word [edi], dx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b7b8
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b7a0
mov ax, word [0x4cc410]
mov word [edi], ax
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b7b8
mov cx, word [0x4d0460]
mov word [edi], cx
jmp case.0x46ace1.58
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x38]
add edi, 0xffffffff
cmp dword [eax + 0x28], 0
je 0x46b800
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b7e1
mov dx, word [0x4c9f04]
mov word [edi], dx
jmp case.0x46ace1.58
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x46b800
mov ax, word [0x4c9f08]
mov word [edi], ax
jmp case.0x46ace1.58
mov ecx, dword [esp + 0xc]
call sym.XR_3DA.exe_public:_void___thiscall_CConsole::ExecuteCommand_void_
jmp case.0x46ace1.58
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je case.0x46ace1.58
push ebx
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebx, eax
test ebx, ebx
je 0x46b909
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, dword [esp + 0x10]
push 0x3ff
push eax
lea edi, [esi + 0x38]
push edi
call dword [0x4c41f8]
add esp, 0xc
push 0x3f
push 0x4d0464
lea ecx, [esp + 0x28]
mov byte [esi + 0x437], 0
call dword [0x4c40ec]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46b884
sub eax, edx
je 0x46b8f2
mov ebp, 0xffffffc8
sub ebp, dword [esp + 0x10]
mov esi, edi
lea esp, [esp]
movsx ecx, byte [esi]
push ecx
call dword [0x4c4184]
add esp, 4
test eax, eax
je 0x46b8d5
mov dl, byte [esi]
mov byte [esp + 0x1c], dl
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0045b630
add esp, 4
mov ecx, eax
call dword [0x4c40fc]
mov byte [esi], al
jmp 0x46b8d8
mov byte [esi], 0x20
mov eax, edi
add esi, 1
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46b8e0
sub eax, edx
lea edx, [esi + ebp]
cmp edx, eax
jb 0x46b8a0
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
lea ecx, [esp + 0x20]
call dword [0x4c40d0]
pop ebx
pop edi
pop ebp
mov esi, dword [esp + 4]
lea eax, [esi + 0x38]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46b916
sub eax, edx
cmp eax, 0x3f8
jb 0x46b92e
mov byte [esi + 0x42f], cl
fldz
mov dword [esi + 0x2c], 0
fstp dword [esi + 0x14]
pop esi
add esp, 8
ret 8