Function at 0x5eec40
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x24
mov dword [0x628b04], eax
mov eax, dword [0x6289a4]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
jne 0x5eed71
push str.imm32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, ebx
je 0x5ef005
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ImmGetContext
push esi
call edi
push str.ImmReleaseContext
push esi
mov dword [0x6289a4], eax
call edi
push str.ImmAssociateContext
push esi
mov dword [0x629894], eax
call edi
push str.ImmGetCompositionStringA
push esi
mov dword [0x62989c], eax
call edi
push str.ImmGetOpenStatus
push esi
mov dword [0x6298a8], eax
call edi
push str.ImmSetOpenStatus
push esi
mov dword [0x628b0c], eax
call edi
push str.ImmGetConversionStatus
push esi
mov dword [0x628b4c], eax
call edi
push str.ImmGetCandidateListA
push esi
mov dword [0x6289a8], eax
call edi
push str.ImmGetVirtualKey
push esi
mov dword [0x628e60], eax
call edi
push str.ImmLockIMC
push esi
mov dword [0x6289ac], eax
call edi
push str.ImmUnlockIMC
push esi
mov dword [0x628b48], eax
call edi
push str.ImmLockIMCC
push esi
mov dword [0x628b18], eax
call edi
push str.ImmUnlockIMCC
push esi
mov dword [0x629874], eax
call edi
push str.ImmGetDefaultIMEWnd
push esi
mov dword [0x628b20], eax
call edi
push str.ImmGetIMEFileNameA
push esi
mov dword [0x6289c0], eax
call edi
push str.ImmNotifyIME
push esi
mov dword [0x628b24], eax
call edi
push str.ImmSetConversionStatus
push esi
mov dword [0x628b14], eax
call edi
push str.ImmSimulateHotKey
push esi
mov dword [0x629870], eax
call edi
push str.ImmIsIME
push esi
mov dword [0x6298a4], eax
call edi
mov dword [0x6298a0], eax
cmp byte [0x6298e1], bl
jne 0x5eeda0
mov ecx, dword [0x628b04]
mov byte [0x6298e1], 1
push ecx
call dword [0x6289a4]
mov edx, dword [0x628b04]
push eax
push edx
mov dword [0x6289a0], eax
call dword [0x629894]
push ebx
push 2
call fcn.005f263a
add esp, 8
mov esi, eax
mov ecx, 0x61d6f4
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x5eedd6
cmp al, bl
je 0x5eedd2
mov dl, byte [ecx + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x5eedd6
add ecx, 2
add esi, 2
cmp al, bl
jne 0x5eedb2
xor eax, eax
jmp 0x5eeddb
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, dword [sym.imp.KERNEL32.dll_GetACP]
cmp eax, ebx
jne 0x5eee07
call ebp
push eax
lea eax, [esp + 0x14]
push 0x61d6f0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x1c]
push ecx
push 2
call fcn.005f263a
add esp, 0x14
mov edi, dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
xor esi, esi
push esi
call edi
mov byte [esi + 0x628e64], al
inc esi
cmp esi, 0x100
jl 0x5eee0f
cmp dword [0x62988c], ebx
je 0x5eeff2
cmp dword [0x629890], ebx
je 0x5eeff2
cmp dword [0x628d58], ebx
je 0x5eeff2
cmp dword [0x6289b8], ebx
je 0x5eeff2
cmp dword [0x62986c], ebx
je 0x5eeff2
cmp dword [0x628b10], ebx
je 0x5eeff2
cmp dword [0x628d50], ebx
je 0x5eeff2
cmp dword [0x6289bc], ebx
je 0x5eeff2
cmp dword [0x6289b4], ebx
je 0x5eeff2
cmp dword [0x628f68], ebx
je 0x5eeff2
cmp dword [0x628b08], ebx
je 0x5eeff2
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
mov edx, dword [0x628b04]
mov dword [0x6298c8], eax
push edx
call dword [0x6289c0]
cmp eax, ebx
je 0x5eeed0
push ebx
push 0x21
push 0x283
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esp + 0x20]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
je 0x5eeef2
mov ecx, dword [esp + 0x20]
mov eax, 1
cmp ecx, eax
jne 0x5eeef2
mov dword [0x6298bc], eax
mov dword [0x628ac8], ebx
mov dword [0x628acc], ebx
mov dword [0x628ad0], ebx
mov dword [0x628ad4], ebx
mov dword [0x628ad8], ebx
mov dword [0x628adc], ebx
mov dword [0x628ae4], 0x280
mov dword [0x628ae0], ebx
mov dword [0x628ae8], 0x1e0
call ebp
mov dword [0x6298c4], eax
add eax, 0xfffffc5c
cmp eax, 0x12
ja case.0x5eef49.935
xor ecx, ecx
mov cl, byte [eax + 0x5ef020]
jmp dword [ecx*4 + 0x5ef010]
mov al, 0xa4
mov byte [0x629888], al
mov byte [0x629889], al
jmp 0x5eef91
mov byte [0x629888], 0xb0
mov byte [0x629889], 0xa1
mov byte [0x61d634], bl
jmp 0x5eef91
mov byte [0x629888], 0x82
mov byte [0x629889], 0xa0
jmp 0x5eef91
mov byte [0x629888], 0x41
mov byte [0x629889], bl
push 3
mov byte [0x62988a], bl
call fcn.005ef600
mov edx, dword [0x628b04]
add esp, 4
push edx
call dword [0x6289a4]
mov esi, eax
cmp esi, ebx
je 0x5eefd3
push esi
call dword [0x628b0c]
mov ecx, dword [0x628b04]
push esi
test eax, eax
setne al
push ecx
mov byte [0x6298d8], al
call dword [0x629894]
call fcn.005ef750
push ebx
call fcn.005eebf0
add esp, 4
mov byte [0x6298d2], 1
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push ebx
mov dword [0x6298bc], 1
call fcn.005eebf0
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24
ret