Function at 0x7593a4f3
Capabilities:
Get keyboard layout
Hide graphical window
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x7594d0ac]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x23c]
push eax
xor ebx, ebx
push ebx
push 0x7593aadc
push dword [0x7594d180]
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x240], 4
mov dword [ebp - 0x218], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x7593a561
cmp dword [ebp - 0x23c], 4
je 0x7593a567
mov dword [ebp - 0x218], ebx
cmp dword [ebp - 0x218], ebx
je 0x7593a578
or dword [edi + 0x568], 1
jmp 0x7593a57f
and dword [edi + 0x568], 0xfffffffe
push esi
call fcn.75927acd
push 0x7a0
push esi
push edi
call fcn.75939009
mov eax, dword [0x7594d1a0]
cmp eax, ebx
jne 0x7593a5b2
push ebx
push ebx
push ebx
push 1
push 0x73
push dword [0x7594d0b8]
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x7594d1a0], eax
push ebx
push eax
push 0x170
push 0x964
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 1
push dword [ebp - 0x210]
call fcn.759277db
push ebx
push dword [ebp - 0x210]
call fcn.75926058
cmp dword [ebp + 0x10], 5
mov dword [edi + 0x9d8], ebx
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
jne 0x7593a839
and dword [ebp - 0x238], 0
and dword [ebp - 0x228], 0
xor eax, eax
lea edi, [ebp - 0x234]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x224]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x238]
push eax
push 0x73c
push dword [ebp - 0x210]
call esi
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
push eax
call edi
lea eax, [ebp - 0x228]
push eax
push 0x7a2
push dword [ebp - 0x210]
call esi
push eax
call edi
mov eax, dword [ebp - 0x234]
sub eax, dword [ebp - 0x224]
push 1
push eax
push 0
push 8
push 0x7594dfa8
push dword [ebp - 0x210]
call fcn.759266c5
push 0
push 0x73c
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x7a0
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x964
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x7a1
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x7a1
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x742
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x7a4
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push 0x7a4
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x7a5
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x70a
push dword [0x7594d0b8]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x20c]
push eax
push 0x78b
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x238]
push eax
push 0x7a2
push dword [ebp - 0x210]
call esi
push eax
call edi
lea eax, [ebp - 0x228]
push eax
push 0x7a4
push dword [ebp - 0x210]
call esi
push eax
call edi
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x21c]
push 1
push eax
push 0
push 4
push 0x7594df98
push dword [ebp - 0x210]
call fcn.759266c5
mov eax, dword [ebp - 0x214]
and dword [eax + 0x9f0], 0
lea eax, [ebp - 0x238]
push eax
push 2
push dword [ebp - 0x210]
call esi
push eax
call edi
lea eax, [ebp - 0x228]
push eax
push 0x961
push dword [ebp - 0x210]
call esi
push eax
call edi
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x230]
push 0
push 0
push eax
push 3
push 0x7594e0a0
push dword [ebp - 0x210]
call fcn.759266c5
push 0
push 0x961
push dword [ebp - 0x210]
call esi
push eax
call ebx
mov eax, dword [ebp - 0x214]
push 0
push 1
push 3
push dword [eax + 4]
mov eax, dword [0x7594d0fc]
call dword [eax + 0x48]
jmp 0x7593a96c
call fcn.75927c63
test eax, eax
je 0x7593a92c
and dword [ebp - 0x238], 0
and dword [ebp - 0x228], 0
xor eax, eax
lea edi, [ebp - 0x234]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x224]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.75938577
cmp eax, 1
jne 0x7593a891
mov eax, dword [ebp - 0x214]
push dword [eax + 0x4a0]
push 0x7a1
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
mov edi, 0x7a4
push edi
push dword [ebp - 0x210]
call esi
push eax
call ebx
push 0
push edi
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x7a5
push dword [ebp - 0x210]
call esi
push eax
call ebx
lea eax, [ebp - 0x238]
push eax
push 0x7a2
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x228]
push eax
push edi
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x21c]
push 1
push eax
push 0
push 4
push 0x7594df98
push dword [ebp - 0x210]
call fcn.759266c5
mov eax, dword [ebp - 0x214]
and dword [eax + 0x9f0], 0
jmp 0x7593a966
call fcn.75938577
cmp eax, 1
jne 0x7593a94d
push dword [edi + 0x4a0]
push 0x7a1
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
inc eax
push 0
push eax
push 3
push dword [edi + 4]
mov dword [edi + 0x9f0], eax
mov eax, dword [0x7594d0fc]
call dword [eax + 0x48]
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x214]
push dword [eax + 0x56c]
call fcn.759276d5
test eax, eax
jne 0x7593a99a
mov eax, dword [ebp - 0x214]
push 1
push dword [eax + 0x4ac]
push dword [eax + 0x56c]
call fcn.75929033
mov eax, dword [ebp - 0x214]
push dword [eax + 0x56c]
call fcn.7592987e
test eax, eax
mov ecx, dword [ebp - 0x214]
mov dword [ecx + 0x570], eax
je 0x7593a9e2
push dword [ecx + 0x4ac]
push 0x7a4
push dword [ebp - 0x210]
call esi
push eax
mov eax, dword [ebp - 0x214]
push dword [eax + 0x570]
call fcn.75927615
jmp 0x7593a9f0
push 2
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_EndDialog]
call fcn.759270fc
test eax, eax
jne 0x7593aa80
lea eax, [ebp - 0x250]
push eax
push 2
push dword [ebp - 0x210]
call esi
push eax
call edi
lea eax, [ebp - 0x260]
push eax
push 0x961
push dword [ebp - 0x210]
call esi
push eax
call edi
mov eax, dword [ebp - 0x258]
sub eax, dword [ebp - 0x248]
xor edi, edi
push edi
push edi
push eax
push 3
push 0x7594e0a0
push dword [ebp - 0x210]
call fcn.759266c5
push edi
push 0x7a5
push dword [ebp - 0x210]
call esi
push eax
call ebx
push edi
push 0x7a4
push dword [ebp - 0x210]
call esi
push eax
call ebx
push edi
push 0x961
push dword [ebp - 0x210]
call esi
push eax
call ebx
jmp 0x7593aa82
xor edi, edi
mov ebx, dword [ebp - 0x214]
push ebx
call fcn.75926f0e
test eax, eax
je 0x7593aaaa
cmp dword [ebp + 0x10], 5
je 0x7593aaaa
push edi
push 2
push dword [ebp - 0x210]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [ebp - 0x210]
call fcn.75925f39
push edi
push dword [ebp - 0x210]
xor esi, esi
inc esi
push ebx
mov dword [ebx + 0x9cc], esi
call fcn.7593a298
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
pop ebx
call fcn.75921930
leave
ret 0xc