Function at 0x44eb2c
Capabilities:
Get keyboard layout
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
push ebx
push esi
mov esi, ecx
mov dword [ebp - 8], 0x39beb064
xor ebx, ebx
mov byte [ebp - 0x29], dl
push edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], ebx
jmp 0x44eb5f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x98], 0xbca63185
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44eb4e
push 3
mov dword [ebp - 4], ebx
pop ecx
jmp 0x44eb7b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x70], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44eb6d
xor edi, edi
inc edi
mov dword [ebp - 8], edi
cmp dword [ebp - 8], ebx
jl 0x44ebee
mov edx, 0x4445559
mov dword [ebp - 0x14], ebx
jmp 0x44eba3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0x90a624cd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x44eb95
mov dword [ebp - 0x40], ebx
jmp 0x44ebdc
mov dword [ebp - 0x14], 0x64fd9e2a
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x98], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x14], ebx
jmp 0x44ebd4
cmp dword [ebp - 0x70], ebx
jne 0x44ebd9
mov dword [ebp - 0x94], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jne 0x44ebc6
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jle 0x44ebad
cmp dword [ebp - 0x94], ebx
jne 0x44ebee
dec dword [ebp - 8]
jns 0x44eb90
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, dword [ebp - 0x70]
cmp ecx, eax
setl dl
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x14], 0x2e91a049
mov dword [ebp - 8], 0xb2b058ef
mov dword [ebp - 8], ebx
jmp 0x44ec24
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x150], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x44ec17
mov dword [ebp - 0x14], ebx
jmp 0x44eca4
mov dword [ebp - 0xc], 0x2509e71b
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jle 0x44ec51
mov eax, edi
cmp dword [ebp - 0x150], ebx
jne 0x44ec53
mov eax, ebx
mov dword [ebp - 8], eax
xor ecx, ecx
mov eax, dword [ebp - 8]
cmp eax, 0x953e
setge cl
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x44ec77
mov dword [ebp - 0x30], 0xae215169
inc dword [ebp - 0x30]
jmp 0x44eca1
mov dword [ebp - 8], 0xffffffff
cmp dword [ebp - 8], ebx
jne 0x44ec98
cmp dword [ebp - 0x14], 0xdda8
jge 0x44ec8f
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
mov dword [ebp - 8], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jge 0x44ec2f
mov eax, dword [0x4bda0c]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], 0x14173bf3
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], 8
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 4], eax
jne 0x44ece0
mov eax, dword [ebp - 0x10]
mov ecx, edi
add eax, 0xbffb
jne 0x44ece2
mov ecx, ebx
mov dword [ebp - 0x1c], 0xffffffff
dec ecx
mov eax, dword [ebp - 4]
xor ebx, ebx
cmp ecx, eax
setle bl
xor edx, edx
add ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp ebx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setl dl
xor ebx, ebx
sub edx, dword [ebp - 0x10]
je 0x44edb5
cmp dword [ebp - 4], ebx
je 0x44edb5
mov dword [ebp - 8], ebx
jmp 0x44ed42
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0xb74a71a6
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x44ed34
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44ed56
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 4], 0x18
jmp 0x44edaa
mov dword [ebp - 0x10], 0xffffffea
jmp 0x44ed98
mov dword [ebp - 8], ebx
jmp 0x44ed7e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1a0], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x44ed6d
inc dword [ebp - 0x48]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44ed95
call dword [sym.imp.USER32.dll_ReleaseCapture]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x2a
jg 0x44ed68
cmp dword [ebp - 4], ebx
jne 0x44ee42
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe9
je 0x44ed5f
jmp 0x44ee42
mov dword [ebp - 8], 0x1c
cmp dword [ebp - 8], 0xffffffee
jle 0x44ee28
mov edi, 0x7e01
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x44ee1f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x44ee1a
push 0x212c
push 0x886
push 0x1d56
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
dec dword [ebp - 0x14]
jns 0x44edf5
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffee
jg 0x44edc7
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0xcf7a
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x14], 0x53d8da8e
inc ecx
mov dword [ebp - 0x10], 8
mov dword [ebp - 8], 0xbd652568
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [ebp - 0x14], ebx
jmp 0x44ee7b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x28], 0x5d6c05ba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x44ee6d
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x44eedd
mov ecx, 0x2121f90e
mov dword [ebp - 0xc], 0xf5a9c4c8
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x44eed8
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa4], ebx
cmp dword [ebp - 0xa4], ebx
jl 0x44eed3
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x28], ebx
jne 0x44eed3
dec dword [ebp - 0xa4]
jns 0x44eec2
dec dword [ebp - 0xc]
jns 0x44ee9c
dec dword [ebp - 0x14]
jns 0x44ee8d
cmp dword [ebp - 0x28], ebx
je 0x44ef92
mov dword [ebp - 0x3c], 0xfffffffa
mov dword [ebp - 0x20], 9
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 4], 0x5004
mov dword [ebp - 4], ebx
jmp 0x44ef1f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xcc], 0x66ef3b06
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44ef0e
mov ecx, dword [ebp - 0xcc]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setge dl
mov dword [ebp - 0xcc], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0x72d50fa8
setl al
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
je 0x44ef66
cmp dword [ebp - 8], ebx
jne 0x44ef69
mov eax, dword [ebp - 0xc]
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
jmp 0x44f066
mov dword [ebp - 0x10], 0xcb06a9be
xor ecx, ecx
mov dword [ebp - 4], 0x42ea6ae2
mov dword [ebp - 0xc], 0xeedf6679
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cmp eax, 0x64db
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
cmp edx, eax
mov edx, 0xfa52
setge cl
xor eax, eax
sub ecx, 0x377f
cmp ecx, 0x268f
setl al
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
sub edx, eax
mov eax, dword [ebp - 0xc]
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x28], 0xf28f0e43
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
cmp dword [ebp - 4], ecx
jl 0x44f034
cmp dword [ebp - 0x28], ebx
jne 0x44f034
mov eax, ebx
jmp 0x44f037
xor eax, eax
inc eax
xor ecx, ecx
cmp eax, 0x5f07
setne cl
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
je 0x44f06b
mov dword [ebp - 0x10], 0xffea361f
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
xor ecx, ecx
inc ecx
jmp 0x44f0a5
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 4], 0x13
jmp 0x44f084
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xd
jg 0x44f07b
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x44f0a0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x28], 0xfa5b821b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44f092
cmp byte [ebp - 0x29], 0
je 0x44f36a
cmp dword [ebp - 0x30], ecx
jne 0x44f36a
mov dword [ebp - 8], 0xfffa
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
jmp 0x44f0d4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x100], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44f0c7
push 4
mov dword [ebp - 4], ebx
pop edx
jmp 0x44f0f3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x12c], 0xe630
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x44f0e2
mov eax, dword [ebp - 8]
mov dword [ebp - 0x100], eax
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ecx
jg 0x44f219
mov edx, 0x214d
mov dword [ebp - 0x14], 0xefa9d19a
mov dword [ebp - 0x1c], 0x1aae4b9
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0x9c710427
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xb064bae0
mov dword [ebp - 0x1c], 0xb06c
mov dword [ebp - 0x1c], 0xefbde283
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], 0x9172ddb7
mov dword [ebp - 0x1c], 0xe483bbb6
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], 0xde6eab3a
mov dword [ebp - 0x1c], 0x7e011b55
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0xc], ebx
jmp 0x44f197
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x194], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44f186
mov dword [ebp - 0x14], ebx
jmp 0x44f205
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0x4d0289a6
mov dword [ebp - 0x1c], 0x19570a50
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], 0x4b6046e7
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0xc], ebx
jmp 0x44f1f6
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1b0], 0xe280bfe7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x44f1e5
dec dword [ebp - 0x120]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x44f1a2
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x44f112
push 4
pop edx
mov dword [ebp - 0x14], 6
mov dword [ebp - 8], 0x6986
mov dword [ebp - 0x1c], 0x818f
mov dword [edi + 8], edx
mov dword [ebp - 0xc], ebx
jmp 0x44f243
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb8], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x44f236
dec dword [ebp - 0x14]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 3
jg 0x44f363
mov dword [ebp - 4], 0xab659d56
mov dword [ebp - 0x20], 0x973063d6
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x20], 0x377d6446
mov dword [ebp - 0x20], 0x67f6a191
mov dword [ebp - 4], 3
cmp dword [ebp - 4], ebx
jl 0x44f353
mov dword [ebp - 0x20], 0x711a53fd
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov eax, dword [ebp - 4]
setle dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0xb8]
cmp edx, eax
setge bl
xor ecx, ecx
imul ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0xb8]
cmp eax, ebx
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0xb8]
cmp edx, eax
mov eax, dword [ebp - 4]
setle bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb8]
add eax, dword [ebp - 0xb8]
cmp eax, ebx
mov eax, dword [ebp - 4]
setne cl
imul eax, ecx
xor ecx, ecx
cmp eax, 1
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
cmp ecx, 0xe8b0
setl al
cmp eax, 4
jbe 0x44f335
mov dword [ebp - 0x20], 0x2aba
mov dword [ebp - 0x20], 0xfffffffd
dec dword [ebp - 0x1c]
xor ebx, ebx
jmp 0x44f34a
xor ebx, ebx
mov dword [ebp - 8], ebx
jmp 0x44f344
cmp dword [ebp - 4], ebx
jne 0x44f34a
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x44f33c
dec dword [ebp - 4]
jns 0x44f28b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x44f258
xor ecx, ecx
inc ecx
mov dword [edi + 0xc], 0x4bda0c
mov dword [ebp - 8], 0x8a61928c
mov dword [ebp - 0x1c], 2
mov dword [ebp - 4], ebx
push 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], ebx
pop edx
jmp 0x44f397
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x11c], 0x845d811f
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x44f386
mov dword [ebp - 4], ebx
jmp 0x44f3ab
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44f3a1
mov dword [ebp - 8], ebx
jmp 0x44f3da
mov dword [ebp - 0x1c], 0xeded
mov dword [ebp - 0xc], ebx
jmp 0x44f3cf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1c0], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x44f3c2
dec dword [ebp - 0x58]
inc dword [ebp - 8]
cmp dword [ebp - 8], 9
jg 0x44f3b6
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0xffffffed
jne 0x44f4ca
mov dword [ebp - 0x14], 0xe1fc6578
mov dword [ebp - 0x1c], 0x523e
mov dword [ebp - 0x20], 0xfffc
mov dword [ebp - 0xc], ebx
jmp 0x44f415
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x4c], 0x3fd90538
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x44f407
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
je 0x44f491
xor esi, esi
xor eax, eax
inc esi
cmp ecx, esi
sete al
cmp eax, dword [ebp - 0x14]
jle 0x44f434
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x44f445
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], esi
je 0x44f450
mov eax, dword [ebp - 0x110]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x110]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add eax, ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add ecx, 0xffff
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x4c]
mov ecx, esi
jne 0x44f493
mov ecx, ebx
xor eax, eax
cmp ecx, 0x2708
setge al
imul eax, dword [ebp - 0x58]
dec eax
dec eax
je 0x44f4b2
cmp dword [ebp - 0x1c], ebx
je 0x44f4b2
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x44f4b7
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [ebp - 0x4c], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffed
je 0x44f3ed
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x30]
jge 0x44fca0
mov dword [ebp - 0x14], 0x17ca4e8
mov edi, 0x4bda10
mov dword [ebp - 0x10], ebx
jmp 0x44f4f2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44f4e4
mov dword [ebp - 0x10], ebx
jmp 0x44f506
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44f4fc
mov dword [ebp - 0x10], ebx
jmp 0x44f51f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0x4380d33b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44f511
mov dword [ebp - 0x10], ebx
jmp 0x44f537
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], 0xfffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44f529
cmp dword [ebp - 0x38], ebx
je 0x44f588
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
dec dword [ebp - 0x64]
test eax, eax
js 0x44f565
cmp dword [ebp - 0x14], ebx
jne 0x44f567
mov ecx, ebx
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x769e8a28
jle 0x44f588
xor eax, eax
inc eax
jmp 0x44f58a
mov eax, ebx
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xa053
setg al
xor ebx, ebx
mov dword [ebp - 0x50], eax
test esi, esi
jle 0x44f83c
mov dword [ebp - 0x10], 0x96dd1e1e
push 2
pop esi
mov dword [ebp - 8], esi
mov dword [ebp - 4], 0x21f1
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44f5ef
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 8], eax
inc ecx
mov eax, dword [ebp - 0x10]
dec dword [ebp - 4]
cmp dword [ebp - 4], ecx
jne 0x44f6c2
push 3
mov dword [ebp - 0xc], ebx
pop edx
jmp 0x44f61d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x7c], 0xc285
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x44f60f
mov dword [ebp - 8], ebx
jmp 0x44f6b7
mov dword [ebp - 0xc], ebx
jmp 0x44f640
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf8], 0x717b38e5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x44f62f
mov dword [ebp - 4], ebx
jmp 0x44f6af
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], 0x9381
mov dword [ebp - 0x3c], 0xdb2a93f0
mov dword [ebp - 0x10], ebx
jmp 0x44f6a7
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x7c], ebx
jne 0x44f691
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xf4]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x44f660
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x44f64a
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x44f62a
jmp 0x44f6f4
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44f6db
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44f6f1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
push 3
pop edx
mov esi, dword [edi]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0xc], ebx
jmp 0x44f71a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x144], 0x8b108f82
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x44f709
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], ebx
jmp 0x44f73b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x144], 0xfffffffb
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x44f72a
mov dword [ebp - 0x1c], 0x9cb61d22
xor ecx, ecx
mov dword [ebp - 0x20], 0xfb1c0380
inc ecx
mov dword [ebp - 0x20], 0x789328a0
mov dword [ebp - 0x20], 0xcd9d754
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 8], 2
mov dword [ebp - 0x20], 0x68939f5f
mov dword [ebp - 0x20], 0x110e6b6c
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
jmp 0x44f7a6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x168], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x44f799
mov dword [ebp - 4], ebx
jmp 0x44f7c1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe0], 0x25739271
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x44f7b0
cmp dword [ebp - 0x20], ebx
jne 0x44f7d5
mov edx, ebx
cmp dword [ebp - 0x160], ebx
jle 0x44f7d7
mov edx, ecx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xdc]
setle cl
dec dword [ebp - 0xdc]
xor edx, edx
inc edx
cmp eax, ecx
mov ecx, edx
je 0x44f7f8
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
imul eax, ecx
test eax, eax
jne 0x44f805
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x44f824
push 0x2697
call dword [sym.imp.GDI32.dll_GetStockObject]
mov eax, dword [edi + 4]
add edi, 8
test eax, eax
jne 0x44f831
add edi, 8
add edi, esi
dec dword [ebp - 0x24]
jne 0x44f5cc
mov dword [ebp - 4], ebx
jmp 0x44f852
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x180], 0x10c9
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x44f841
xor esi, esi
mov dword [ebp - 4], ebx
inc esi
jmp 0x44f86e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], 0x2ba39464
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x44f860
mov dword [ebp - 0x44], ebx
jmp 0x44f8db
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x44f88c
push 0xa91
call dword [sym.imp.USER32.dll_GetSysColorBrush]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x180]
neg eax
je 0x44f8c2
mov dword [ebp - 0xc], ebx
jmp 0x44f8b0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x15c], 0x1551da62
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44f89f
mov dword [ebp - 0x15c], 0x4ebb0cb8
jmp 0x44f8d8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x44f8d8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ShowCaret]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jle 0x44f878
mov ebx, dword [edi]
xor ecx, ecx
mov dword [ebp - 0xc], 0xfffffffb
mov dword [ebp - 0x24], 0x5efa
mov dword [ebp - 0xc], ecx
jmp 0x44f905
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x138], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44f8f8
mov dword [ebp - 0xc], 0xffffffe7
jmp 0x44f93d
mov dword [ebp - 8], ecx
mov dword [ebp - 8], ecx
jmp 0x44f92d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x138], 0x7a888ada
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x44f91c
mov dword [ebp - 0x24], 0x690f1d89
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1d
jne 0x44f914
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 8], 0x47cd
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], 0x21589afc
mov dword [ebp - 4], ecx
jmp 0x44f97b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd4], 0x3672d714
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44f96a
mov dword [ebp - 4], ecx
jmp 0x44f990
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x44f986
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
neg edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
sbb edx, edx
mov eax, dword [ebp - 0x34]
neg edx
cmp dword [ebp - 0x34], ecx
jne 0x44f9bb
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
cmp eax, edx
setge cl
mov dword [ebp - 0xc], ecx
dec dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov esi, dword [edi + 4]
mov dword [ebp - 0x1c], 0xaedf47f2
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 0xa0d018d3
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0xc], eax
jmp 0x44fa2d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xec], 0x8039d6b9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x44fa1c
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, 6
imul eax, dword [ebp - 0x10]
cmp eax, 0xa6c8
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x10]
je 0x44fa77
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x1c]
neg dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x10], ecx
jmp 0x44fa9d
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x44fa9a
push 0x1fbe
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
xor ecx, ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffb
jne 0x44fa84
mov dword [ebp - 4], 0xba339924
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x24], 0x254f8d36
mov dword [ebp - 0x24], 0xadbefc71
mov dword [ebp - 0x24], 0xfffffffb
push 2
mov dword [ebp - 0x24], 0xb341
mov dword [ebp - 0x10], ecx
pop edx
jmp 0x44fae6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x170], 0x26ae69ed
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x44fad5
mov dword [ebp - 0x10], ecx
jmp 0x44fb01
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x188], 0xe85dc32c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x44faf0
mov dword [ebp - 0x10], ecx
jmp 0x44fb1c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c], 0xf459cadf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x44fb0b
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 4], 0xf738f585
mov eax, dword [ebp - 4]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
cmp ecx, 0x13b2
jg 0x44fb5a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 4]
setge cl
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 4]
test eax, eax
jne 0x44fb97
cmp dword [ebp - 4], ecx
jne 0x44fb97
xor edx, edx
mov eax, ecx
inc edx
jmp 0x44fb9c
xor edx, edx
inc edx
mov eax, edx
cmp eax, dword [ebp - 4]
jl 0x44fba8
cmp dword [ebp - 4], ecx
jne 0x44fba8
mov edx, ecx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x10c]
test esi, esi
jne 0x44fc9d
cmp byte [ebp - 0x29], 0
je 0x44fbe7
cmp dword [ebp - 0x30], 1
jne 0x44fbe7
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push ebx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x30], edi
call fcn.0048c987
pop ecx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0xc4]
lea eax, [ebp - 0x80]
xor esi, esi
push eax
push ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
call fcn.004734ca
mov ecx, esi
mov esi, dword [ebp - 0xc4]
test ebx, ebx
jle 0x44fc85
mov eax, ecx
and eax, 0x80000001
jns 0x44fc44
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x50]
add eax, ecx
add eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x54]
cdq
idiv ebx
xor eax, eax
cmp word [esi + edx*2], ax
je 0x44fc70
xor edi, edi
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [esi + edx*2], di
jne 0x44fc61
mov edi, dword [ebp - 0x30]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov al, byte [edx + edi]
mov edx, dword [ebp - 0x48]
mov byte [ecx + edx], al
inc ecx
cmp ecx, ebx
jl 0x44fc36
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
mov dword [edi], ebx
mov dword [edi + 4], eax
test esi, esi
je 0x44fca0
push esi
call fcn.0048df46
pop ecx
jmp 0x44fca0
mov edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret