Function at 0x10037420
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push esi
mov eax, 0x7807
mov word [ebp - 0x4c], ax
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], edx
mov al, byte [0x1007f04e]
mov byte [ebp - 1], al
mov cl, byte [0x1007f1c8]
mov byte [ebp - 0x15], cl
mov dword [ebp - 0x30], 0x4c65
mov dx, word [0x1007f1bc]
mov word [ebp - 0x24], dx
xor eax, eax
mov dword [ebp - 0xb0], 0x566a
mov dword [ebp - 0xac], eax
mov cl, byte [0x1007f180]
mov byte [ebp - 2], cl
mov dl, byte [0x1007f180]
mov byte [ebp - 9], dl
mov eax, dword [0x1007f188]
mov dword [ebp - 0x6c], eax
mov ecx, 0x1b37
mov word [ebp - 0x28], cx
mov edx, dword [0x1007f178]
mov eax, dword [0x1007f17c]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x68], 0xef
movsx ecx, word [0x1007f15c]
mov dword [ebp - 0x5c], ecx
movsx edx, word [0x1007f148]
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0xa0], ecx
mov word [ebp - 8], ax
mov byte [ebp - 0x16], 0xd3
mov dx, word [0x1007f14c]
mov word [ebp - 0x14], dx
mov ax, word [0x1007f170]
mov word [ebp - 0x10], ax
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x38], ecx
movsx eax, word [0x1007f1a8]
mov dword [ebp - 0x98], eax
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x84], edx
mov word [ebp - 0x50], cx
mov eax, dword [0x1007f170]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x17], 3
mov edx, 0xffffbbbf
mov word [ebp - 0x54], dx
mov byte [ebp - 0x1d], 0xd7
mov byte [ebp - 0x18], 0x9d
mov byte [ebp - 0x19], 0xb9
xor eax, eax
mov dword [ebp - 0xc0], 0x4903
mov dword [ebp - 0xbc], eax
mov cl, byte [0x1007f1a0]
mov byte [ebp - 0x1a], cl
mov edx, dword [0x1007f180]
mov dword [ebp - 0x88], edx
mov eax, 0xb283
mov word [ebp - 0x70], ax
mov cx, word [0x1007f1a8]
mov byte [ebp - 0x1b], cl
mov byte [ebp - 0x1c], 0x25
mov edx, 0x15d
mov word [ebp - 0x2c], dx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [ebp - 8], ax
movzx eax, word [0x1007f128]
test eax, eax
je 0x100375d0
mov ecx, dword [0x1007f154]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10037624
movzx edx, word [0x1007f1c8]
movsx eax, word [ebp - 0x10]
sub edx, eax
mov ecx, dword [ebp - 0x30]
not ecx
imul ecx, dword [ebp - 0x30]
sub edx, ecx
not edx
xor eax, eax
mov dword [0x1007f160], edx
mov dword [0x1007f164], eax
movsx ecx, word [ebp - 8]
mov edx, dword [ebp - 0x34]
sub edx, ecx
mov dword [ebp - 0x34], edx
movsx eax, word [ebp - 8]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f138], ecx
mov dword [0x1007f13c], esi
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor ecx, ecx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jg 0x10037687
jl 0x1003765a
cmp dword [ebp - 0x78], 0
ja 0x10037687
movzx ecx, byte [0x1007f026]
not ecx
mov word [ebp - 0x24], cx
movzx edx, byte [ebp - 1]
sub edx, 0x41ee
imul edx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edx
movzx eax, word [ebp - 0x28]
cdq
add eax, 0x79de65d9
mov byte [ebp - 2], al
jmp 0x100376b7
movsx eax, byte [ebp - 9]
imul eax, dword [0x1007f144]
imul eax, dword [ebp - 0x38]
not eax
mov word [ebp - 0x10], ax
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x8c], edx
xor ecx, 0xe637bc7
mov byte [ebp - 1], cl
mov eax, dword [0x1007f1b0]
mov ecx, dword [0x1007f1b4]
mov dword [0x1007f190], eax
mov dword [0x1007f194], ecx
mov eax, dword [0x1007f140]
cdq
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov edx, dword [ebp - 0x5c]
add edx, 0x5a6d65a1
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f170]
not eax
test eax, eax
je 0x10037705
cmp dword [ebp - 0x30], 0
je 0x10037705
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
jmp 0x10037711
xor ecx, ecx
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x44], ecx
movsx eax, word [ebp - 0x14]
cdq
or eax, dword [0x1007f1d0]
or edx, dword [0x1007f1d4]
not eax
not edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x7c]
jl 0x10037747
jg 0x1003773e
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x80]
jbe 0x10037747
mov dword [ebp - 0x3c], 1
jmp 0x1003774e
mov dword [ebp - 0x3c], 0
movsx ecx, word [0x1007f1a8]
not ecx
cmp dword [ebp - 0x3c], ecx
jg 0x10037801
mov byte [ebp - 2], 0
mov edx, dword [0x1007f188]
or edx, dword [0x1007f18c]
jne 0x1003777b
mov dword [ebp - 0x40], 1
jmp 0x10037782
mov dword [ebp - 0x40], 0
movsx eax, word [ebp - 8]
cdq
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x90], edx
add eax, ecx
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x94], edx
add ecx, 0xf3
sub eax, ecx
movzx ecx, byte [ebp - 1]
add ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x40]
and eax, ecx
mov word [ebp - 0x14], ax
mov edx, dword [0x1007f1bc]
add edx, 0x53
mov dword [str.C], edx
mov al, byte [ebp - 2]
mov byte [ebp - 0x64], al
cmp byte [ebp - 0x64], 0
je 0x100377e2
jmp 0x100377ff
movsx ecx, word [0x1007f148]
imul edx, ecx, 0xd867
mov dword [ebp - 0x68], edx
mov eax, dword [0x1007f180]
sub eax, dword [ebp - 0x6c]
mov dword [0x1007f180], eax
jmp 0x1003782a
mov cx, word [0x1007f128]
sub cx, 1
mov word [0x1007f128], cx
movzx edx, word [0x1007f1c8]
movzx eax, word [0x1007f1c8]
sub edx, eax
mov word [0x1007f1c8], dx
movzx eax, word [ebp - 0x2c]
pop esi
mov esp, ebp
pop ebp
ret