Function at 0x1000d188
Capabilities:
Enumerate gui resources
Identify system language via api

Disassembly:
mov eax, 0x1005bec4
call fcn.1005ba30
sub esp, 0x100
mov eax, 0x61928c17
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
push ebx
mov dword [ebp - 0x58], eax
xor ebx, ebx
mov dword [ebp - 0x10], 0x3aa9ac70
push esi
mov dword [ebp - 0x20], 0xffffffff
push edi
mov dword [ebp - 0x24], 0xf7d96711
mov dword [ebp - 0x1c], 0xffffffff
push 3
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x1000d206
mov dword [ebp - 0x24], 0x2b3b7bed
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1000d1e2
cmp dword [ebp - 0x20], ebx
je 0x1000d216
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], 0x7ad53a38
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x5c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
push 1
setg cl
pop esi
add eax, ecx
je 0x1000d24a
cmp dword [ebp - 0x60], ebx
je 0x1000d24a
mov edx, esi
cmp dword [ebp - 0x20], ebx
jne 0x1000d24c
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, esi
setle cl
sub ecx, edx
jne 0x1000d265
cmp dword [ebp - 0x64], ebx
je 0x1000d26c
mov eax, esi
cmp dword [ebp - 0x1c], ebx
jne 0x1000d26e
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x2e91a049
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1000d28d
push ebx
push ebx
push 0x10bc
call dword [sym.imp.USER32.dll_SetPropA]
mov dword [ebp - 0x20], 0xffffffec
jmp 0x1000d31d
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x1000d2b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe0], 0x4f84b811
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000d2a5
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x1000d31a
mov dword [ebp - 0x18], ebx
jmp 0x1000d2d6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1000d2c9
mov dword [ebp - 0x84], edi
cmp dword [ebp - 0x84], ebx
jl 0x1000d304
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp + eax*4 - 0xe0]
mov dword [ebp - 0xe0], eax
dec dword [ebp - 0x84]
jns 0x1000d2e9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1000d315
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
dec dword [ebp - 0x1c]
jns 0x1000d2c4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 5
jl 0x1000d299
push dword [ebp - 0x38]
mov eax, 0x61928c17
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x50], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x10], 0x3aa9ac70
push eax
push ebx
movdqu xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
call fcn.1001489f
push 2
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], ebx
call fcn.10011794
mov dword [ebp - 0x10], ebx
jmp 0x1000d395
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xa18885c6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000d382
mov dword [ebp - 0x10], ebx
jmp 0x1000d3ae
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000d3a0
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0xb4]
lea eax, [edx + 4]
mov dword [edi + 4], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 4]
xor ecx, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], 8
cmp eax, dword [edx + eax*4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x10]
setle cl
mov eax, dword [ebp - 0x44]
sub esi, ecx
mov ecx, dword [edi + 4]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp dword [eax + ecx*4], esi
setl dl
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 0xd925d3c0
mov dword [ebp - 0x24], 0xa94fe874
cmp dword [ebp - 0x20], ebx
jne 0x1000d46e
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov edx, dword [edi + 4]
sub edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov edx, ebx
setg cl
xor esi, esi
inc esi
sub ecx, 0x76df3e2e
je 0x1000d433
mov edx, esi
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [edi + 4]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0x8afb
setle cl
xor eax, eax
cmp ecx, 0x1a80d1c1
setl al
cmp eax, dword [ebp - 0x1c]
jge 0x1000d471
mov ecx, ebx
jmp 0x1000d473
xor esi, esi
inc esi
mov ecx, esi
mov eax, dword [ebp - 0x20]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [ecx], eax
test eax, eax
je 0x1000d495
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 0x2c643d43
jge 0x1000d4c1
mov dword [ebp - 0x24], 0x3257b06f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d4b7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
cmp dword [ebp - 0x24], ebx
jne 0x1000d4f1
push 3
pop eax
jmp 0x1000d4e1
push 3
mov dword [ebp - 0x24], esi
pop eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jl 0x1000d4e1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x2a57d884
dec dword [ebp - 0x24]
dec dword [ebp - 0x18]
jns 0x1000d4cf
inc dword [edi + 4]
cmp dword [edi + 4], eax
jg 0x1000d4f1
mov edx, dword [ebp - 0x44]
jmp 0x1000d3c6
lea ecx, [ebp - 0xb4]
call fcn.10011816
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.10011816
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], 0xf7d96711
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x2c], 0x69f4288a
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x1000d53d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000d533
mov dword [ebp - 0x10], ebx
jmp 0x1000d555
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000d547
push 3
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x1000d56f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc0], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000d562
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d597
push 0xf62
push 0x6c0
push 0xd02
push 0xb34
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov dword [ebp - 0x30], ebx
jmp 0x1000d61a
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0x66c93ee
mov dword [ebp - 0x2c], 0x1d2250db
mov dword [ebp - 0x10], ebx
jmp 0x1000d5c3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000d5b2
mov dword [ebp - 0x10], ebx
jmp 0x1000d5df
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x90], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000d5ce
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x28]
add eax, 0xcaa8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x90], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffffb
jge 0x1000d59c
mov dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x9c]
mov eax, 0x3c692bea
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffff9
push esi
call fcn.10011794
mov dword [ebp - 0x10], ebx
jmp 0x1000d670
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000d663
mov dword [ebp - 0x10], ebx
jmp 0x1000d68d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0xb49d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000d67a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d6a1
call dword [sym.imp.USER32.dll_DestroyCaret]
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x9c]
dec dword [eax]
call fcn.10011816
mov dword [ebp - 0x10], ebx
jmp 0x1000d6dd
mov dword [ebp - 0x28], 0x2b3b7bed
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1000d6b9
mov dword [ebp - 0x10], 0x69fdf99f
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], 0xffffffff
push edi
call fcn.10011794
mov dword [ebp - 0x10], ebx
jmp 0x1000d717
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0x63f6d1d8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000d704
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0x14
jge 0x1000d7cb
mov esi, dword [ebp - 0xa8]
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0x3292c5eb
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], 0x6aa1c33
mov dword [ebp - 0x1c], ebx
jmp 0x1000d756
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x78], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d748
cmp dword [ebp - 0x28], ebx
je 0x1000d796
mov edx, dword [ebp - 0x28]
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x748d
setg cl
xor eax, eax
cmp edx, ecx
setne al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x795c
setne al
inc dword [esi + 8]
mov dword [ebp - 0x78], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jl 0x1000d732
xor esi, esi
inc esi
lea ecx, [ebp - 0xa8]
call fcn.10011816
cmp dword [ebp - 0x18], ebx
je 0x1000d7e1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], 0x7ad53a38
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg cl
add eax, ecx
je 0x1000d812
cmp dword [ebp - 0x50], ebx
je 0x1000d812
mov edx, esi
cmp dword [ebp - 0x18], ebx
jne 0x1000d814
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, esi
setle cl
sub ecx, edx
jne 0x1000d82d
cmp dword [ebp - 0x54], ebx
je 0x1000d834
mov eax, esi
cmp dword [ebp - 0x24], ebx
jne 0x1000d836
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xd5e4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d856
push esi
push ebx
push 0xcc4
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d866
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x88]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x38]
mov edi, edx
mov esi, eax
call fcn.1000d116
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret