Function at 0x1000c2c0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a76df
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x460
push ebx
push esi
push edi
mov dword [esp + 0x60], ecx
sub esp, 8
lea ecx, [esp + 0x110]
call fcn.100059e0
mov dword [esp + 0x474], 0
mov edx, dword [0x100dd798]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd064
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db0f0
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd060
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db220], 0
je 0x1000c377
mov edx, dword [0x100dd3f8]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd06c
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db210
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd068
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db1a8], 0
je 0x1000c3b6
mov edx, dword [0x100dd418]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd074
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db198
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd070
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db0d0], 0
je 0x1000c3f5
mov edx, dword [0x100dd3f4]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd07c
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db0c0
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd078
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db040], 0
je 0x1000c434
mov edx, dword [0x100dd710]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd084
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db030
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd080
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db118], 0
je 0x1000c473
mov edx, dword [0x100dd654]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd08c
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db108
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd088
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db250], 0
je 0x1000c4b2
mov edx, dword [0x100dd73c]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd094
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db240
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd090
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db148], 0
je 0x1000c4f1
mov edx, dword [0x100dd778]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd09c
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db138
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd098
mov ecx, eax
call fcn.10007e30
cmp dword [0x100db130], 0
je 0x1000c530
mov edx, dword [0x100dd62c]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd0a4
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db120
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd0a0
mov ecx, eax
call fcn.10007e30
push dword [0x100dcf40]
mov edx, dword [0x100dd6d0]
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd0ac
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bd0a8
mov ecx, eax
call fcn.10007e30
push 0x98
lea eax, [esp + 0x1a8]
push 0
push eax
call fcn.10088b00
mov eax, dword [0x100ddb58]
add esp, 0xc
mov dword [esp + 0x1a0], 0x9c
test al, 1
jne 0x1000c5aa
or eax, 1
mov dword [0x100ddb58], eax
call fcn.1003e7a0
mov dword [0x100ddb10], eax
jmp 0x1000c5af
mov eax, dword [0x100ddb10]
lea ecx, [esp + 0x1a0]
push ecx
call eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a8]
movzx ebx, word [esp + 0x234]
call fcn.1003f500
mov edx, dword [0x100dd74c]
push esi
push ecx
lea ecx, [esp + 0x110]
mov byte [esp + 0x1f], al
call fcn.10007e30
mov edx, 0x100bd0b4
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bd0b0
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd458]
push edi
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd0bc
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bd0b8
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd648]
push ebx
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd0c4
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bd0c0
mov ecx, eax
call fcn.10007e30
mov esi, dword [0x100dd664]
cmp byte [esp + 0x17], 0
mov edx, dword [0x100dd610]
cmovne esi, dword [0x100dd6f8]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd0cc
mov ecx, eax
call fcn.10007e30
mov edx, esi
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd0c8
mov ecx, eax
call fcn.10007e30
lea ecx, [esp + 0xa4]
xor esi, esi
call fcn.10033150
mov edx, eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x474], 1
call fcn.10033340
mov edi, eax
mov byte [esp + 0x474], 2
cmp dword [edi + 0x14], 0x10
jb 0x1000c6f8
mov edi, dword [edi]
mov edx, dword [0x100dd4a8]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd0d4
mov ecx, eax
call fcn.10007e30
mov edx, edi
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd0d0
mov ecx, eax
call fcn.10007e30
cmp dword [esp + 0x7c], 0x10
jb 0x1000c73e
push dword [esp + 0x68]
call fcn.100852d7
add esp, 4
mov byte [esp + 0x474], 0
cmp dword [esp + 0xb8], 0x10
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
jb 0x1000c774
push dword [esp + 0xa4]
call fcn.100852d7
add esp, 4
call fcn.10012670
test eax, eax
je 0x1000c7b9
mov edx, dword [0x100dd684]
lea ecx, [esp + 0x108]
mov esi, 1
call fcn.10007e30
mov edx, 0x100bd0dc
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd6f8]
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd0d8
mov ecx, eax
call fcn.10007e30
call fcn.10012860
test eax, eax
je 0x1000c7fa
mov edx, dword [0x100dd68c]
lea ecx, [esp + 0x108]
inc esi
call fcn.10007e30
mov edx, 0x100bd0e4
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd6f8]
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd0e0
mov ecx, eax
call fcn.10007e30
call fcn.10012770
test eax, eax
je 0x1000c83b
mov edx, dword [0x100dd674]
lea ecx, [esp + 0x108]
inc esi
call fcn.10007e30
mov edx, 0x100bd0ec
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd6f8]
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd0e8
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd5c8]
push esi
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd0f4
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bd0f0
mov ecx, eax
call fcn.10007e30
push 0x61
call dword [sym.imp.USER32.dll_IsCharAlphaA]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov edx, dword [0x100dd718]
movzx eax, ax
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd0fc
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021c90
mov edx, 0x100bd0f8
mov ecx, eax
call fcn.10007e30
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov edx, dword [0x100dd5f0]
movzx eax, ax
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd104
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021c90
mov edx, 0x100bd100
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd764]
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd10c
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db1f8
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd108
mov ecx, eax
call fcn.10007e30
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1000c9c4
lea ecx, [esp + 0x48]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x48]
mov edx, dword [0x100dd5e8]
add eax, 0x14
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd114
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10005660
mov edx, 0x100bd110
mov ecx, eax
call fcn.10007e30
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x4c]
mov edx, dword [0x100dd508]
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd11c
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10005660
mov edx, 0x100bd118
mov ecx, eax
call fcn.10007e30
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xcc], 0
mov byte [esp + 0xbc], 0
mov byte [esp + 0x474], 3
mov edx, dword [0x100dd720]
mov dword [esp + 0x44], 0xf
cmp byte [edx], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
jne 0x1000ca0e
xor ecx, ecx
jmp 0x1000ca1c
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ca13
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.10004460
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x30]
mov byte [esp + 0x474], 4
call fcn.100319e0
mov byte [esp + 0x474], 3
cmp dword [esp + 0x44], 0x10
movzx esi, al
jb 0x1000ca5d
push dword [esp + 0x30]
call fcn.100852d7
add esp, 4
mov ebx, dword [sym.imp.USER32.dll_IsCharLowerA]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
test esi, esi
je 0x1000cb61
cmp dword [0x100db338], 0
je 0x1000caa0
push 0x41
call ebx
push 0x41
call ebx
push 3
call fcn.1004c400
add esp, 4
mov dword [0x100db338], eax
call fcn.1004c490
cmp dword [esp + 0xd0], 0x10
push dword [esp + 0xcc]
lea ecx, [esp + 0xc0]
cmovae ecx, dword [esp + 0xc0]
mov edi, eax
push ecx
push edi
call fcn.1004c100
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1000cb20
sub esp, 0x18
mov ecx, esp
push esi
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
cmp byte [esi], 0
jne 0x1000caf6
xor ecx, ecx
jmp 0x1000cb09
mov ecx, esi
lea edx, [ecx + 1]
jmp 0x1000cb00
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000cb00
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xc4]
call fcn.10004460
push esi
call fcn.10056e80
add esp, 4
push edi
call fcn.1004c6f0
mov edx, dword [0x100dd514]
add esp, 4
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, 0x100bd124
mov ecx, eax
call fcn.10007e30
lea edx, [esp + 0xbc]
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd120
mov ecx, eax
call fcn.10007e30
mov dword [esp + 0xec], 0xf
mov dword [esp + 0xe8], 0
mov byte [esp + 0xd8], 0
mov byte [esp + 0x474], 5
mov edx, dword [0x100dd3ec]
mov dword [esp + 0x5c], 0xf
cmp byte [edx], 0
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
jne 0x1000cbab
xor ecx, ecx
jmp 0x1000cbb9
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000cbb0
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x50]
call fcn.10004460
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x48]
mov byte [esp + 0x474], 6
call fcn.100319e0
mov byte [esp + 0x474], 5
cmp dword [esp + 0x5c], 0x10
movzx esi, al
jb 0x1000cbfa
push dword [esp + 0x48]
call fcn.100852d7
add esp, 4
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
test esi, esi
je 0x1000cc97
cmp dword [esp + 0xec], 0x10
mov ecx, dword [0x100dd6f8]
lea eax, [esp + 0xd8]
cmovae eax, dword [esp + 0xd8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000cc54
test dl, dl
je 0x1000cc50
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000cc54
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000cc34
xor eax, eax
jmp 0x1000cc59
sbb eax, eax
or eax, 1
mov edx, dword [0x100dd4b4]
test eax, eax
sete al
movzx eax, al
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.10007e30
mov edx, 0x100bd12c
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021b00
mov edx, 0x100bd128
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd134
lea ecx, [esp + 0x108]
call fcn.10007e30
mov edx, dword [0x100dd628]
mov ecx, eax
call fcn.10007e30
mov edx, 0x100bd130
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd43c]
mov dword [esp + 0x9c], 0xf
cmp byte [edx], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
jne 0x1000ccee
xor ecx, ecx
jmp 0x1000ccfc
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ccf3
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x90]
call fcn.10004460
mov byte [esp + 0x474], 7
call fcn.100199e0
mov edx, eax
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
cmp byte [edx], 0
jne 0x1000cd37
xor ecx, ecx
jmp 0x1000cd49
mov ecx, edx
lea esi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000cd40
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.10004460
lea eax, [esp + 0x18]
push 0
push eax
lea edx, [esp + 0x90]
lea ecx, [esp + 0x38]
mov byte [esp + 0x47c], 8
call fcn.10043360
movq xmm0, qword [eax]
mov esi, dword [eax + 8]
add esp, 8
cmp dword [esp + 0x44], 0x10
movq qword [esp + 0x48], xmm0
jb 0x1000cd96
push dword [esp + 0x30]
call fcn.100852d7
add esp, 4
mov byte [esp + 0x474], 5
cmp dword [esp + 0x9c], 0x10
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
jb 0x1000cdcc
push dword [esp + 0x88]
call fcn.100852d7
add esp, 4
cmp byte [esp + 0x48], 0
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
je 0x1000ce30
mov edx, 0x100bd138
lea ecx, [esp + 0x108]
call fcn.10007e30
cmp dword [esp + 0x4c], 4
lea ecx, [esp + 0x108]
jne 0x1000ce18
push esi
call fcn.10005660
jmp 0x1000ce1f
mov edx, esi
call fcn.10007e30
mov edx, 0x100bd144
lea ecx, [esp + 0x108]
call fcn.10007e30
mov eax, dword [0x100ddb74]
test al, 1
jne 0x1000ce4d
or eax, 1
mov dword [0x100ddb74], eax
call fcn.1003e5e0
mov dword [0x100ddb1c], eax
jmp 0x1000ce52
mov eax, dword [0x100ddb1c]
call eax
push eax
push ecx
mov edx, 0x100bd14c
lea ecx, [esp + 0x110]
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.100054d0
mov edx, 0x100bd148
mov ecx, eax
call fcn.10007e30
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x10c]
call fcn.10005aa0
mov esi, eax
cmp esi, 0x100db1e0
je 0x1000ced5
cmp dword [0x100db1f4], 0x10
jb 0x1000ceaf
push dword [0x100db1e0]
call fcn.100852d7
add esp, 4
push esi
mov ecx, 0x100db1e0
mov dword [0x100db1f4], 0xf
mov dword [0x100db1f0], 0
mov byte [0x100db1e0], 0
call fcn.10006230
cmp dword [esp + 0x7c], 0x10
jb 0x1000cee8
push dword [esp + 0x68]
call fcn.100852d7
add esp, 4
mov eax, dword [0x100ddb74]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
test al, 1
jne 0x1000cf1a
or eax, 1
mov dword [0x100ddb74], eax
call fcn.1003e5e0
mov dword [0x100ddb1c], eax
jmp 0x1000cf1f
mov eax, dword [0x100ddb1c]
call eax
mov ebx, eax
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x10c]
call fcn.10005aa0
lea edx, [esp + 0xf0]
mov byte [esp + 0x474], 9
call fcn.10011d90
test eax, eax
jne 0x1000dc98
cmp dword [0x100dd360], eax
je 0x1000dc98
sub esp, 8
lea ecx, [esp + 0x248]
call fcn.100059e0
mov byte [esp + 0x474], 0xa
mov eax, dword [0x100ddb74]
test al, 1
jne 0x1000cf93
or eax, 1
mov dword [0x100ddb74], eax
call fcn.1003e5e0
mov dword [0x100ddb1c], eax
jmp 0x1000cf98
mov eax, dword [0x100ddb1c]
call eax
mov ecx, 0x100bd1c4
mov esi, eax
call fcn.10045550
sub esi, ebx
push esi
push ecx
mov ecx, str.eVRVB0oSUgARURhVWxFeWVcFUFddRQpaEg
mov edi, eax
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x248]
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.100054d0
mov edx, edi
mov ecx, eax
call fcn.10007e30
sub esp, 0x18
lea ecx, [esp + 0x258]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
mov eax, dword [0x100ddb74]
add esp, 0x18
test al, 1
jne 0x1000d011
or eax, 1
mov dword [0x100ddb74], eax
call fcn.1003e5e0
mov dword [0x100ddb1c], eax
jmp 0x1000d016
mov eax, dword [0x100ddb1c]
call eax
sub eax, ebx
cmp eax, 0x2710
jbe 0x1000d197
sub esp, 8
lea ecx, [esp + 0x1a8]
call fcn.100059e0
lea eax, [esp + 0xa4]
push eax
mov ecx, 0x100dd528
mov byte [esp + 0x478], 0xb
call fcn.10005aa0
mov edi, eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x244]
mov byte [esp + 0x478], 0xc
call fcn.10005aa0
mov esi, eax
mov ecx, str.ZV5cFRhdUAcAQhhVVRJRFVwLQ1xVCgJQEgNXAlZNWBVTQFYGFhILX0U
mov byte [esp + 0x474], 0xd
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x1a0]
call fcn.10007e30
mov edx, esi
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bd204
mov ecx, eax
call fcn.10007e30
mov edx, edi
mov ecx, eax
call fcn.10023e20
cmp dword [esp + 0x7c], 0x10
jb 0x1000d0bc
push dword [esp + 0x68]
call fcn.100852d7
add esp, 4
mov byte [esp + 0x474], 0xb
cmp dword [esp + 0xb8], 0x10
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
jb 0x1000d0f2
push dword [esp + 0xa4]
call fcn.100852d7
add esp, 4
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x1a4]
call fcn.10005aa0
mov ecx, eax
mov byte [esp + 0x474], 0xe
cmp dword [ecx + 0x14], 0x10
jb 0x1000d115
mov ecx, dword [ecx]
cmp dword [0x100db224], 0x10
push 0x1388
push 1
push 0
push 0
push 0
push 0x100ba806
push 0x100ba807
push ecx
push 0x100ba822
mov eax, 0x100db210
cmovae eax, dword [0x100db210]
cmp dword [0x100db104], 0x10
push 0x100ba823
mov edx, 0x100db0f0
cmovae edx, dword [0x100db0f0]
push 0x100ba832
push eax
mov ecx, 2
call fcn.1001ddc0
add esp, 0x30
cmp dword [esp + 0x7c], 0x10
jb 0x1000d183
push dword [esp + 0x68]
call fcn.100852d7
add esp, 4
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x474], 0xa
call fcn.10005000
mov ecx, dword [0x100dd360]
push 1
xor edx, edx
call fcn.10026e70
sub esp, 0x14
mov esi, eax
mov ecx, esp
push esi
call fcn.100020e0
xor ecx, ecx
call fcn.1002bd20
push esi
call fcn.10085c14
mov edx, dword [0x100dd3f8]
mov ecx, dword [0x100dd360]
add esp, 0x1c
call fcn.100277a0
test eax, eax
je 0x1000d1ea
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d1ea
push eax
mov ecx, 0x100db210
call fcn.10002170
push 0x42
call dword [sym.imp.USER32.dll_IsCharUpperA]
mov edx, dword [0x100dd48c]
mov ecx, dword [0x100dd360]
call fcn.100277a0
test eax, eax
je 0x1000d219
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d219
push eax
mov ecx, 0x100db180
call fcn.10002170
mov edx, dword [0x100dd4c0]
mov ecx, dword [0x100dd360]
call fcn.100277a0
test eax, eax
je 0x1000d240
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d240
push eax
mov ecx, 0x100db0d8
call fcn.10002170
mov edx, dword [0x100dd5c0]
mov ecx, dword [0x100dd360]
call fcn.100277a0
test eax, eax
je 0x1000d267
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d267
push eax
mov ecx, 0x100db1c8
call fcn.10002170
mov edx, dword [0x100dd758]
mov ecx, dword [0x100dd360]
call fcn.100277a0
test eax, eax
je 0x1000d28e
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d28e
push eax
mov ecx, 0x100db090
call fcn.10002170
mov edx, dword [0x100dd454]
mov ecx, dword [0x100dd360]
call fcn.100277a0
mov edx, dword [0x100dd5e0]
mov ecx, dword [0x100dd360]
call fcn.100277a0
mov esi, eax
test esi, esi
jne 0x1000d2ec
mov ecx, str.cFNaDl1WFhUKEF9UQEZ_U14BRkEX
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
lea ecx, [esi + 1]
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x240]
mov esi, 0xfffffffd
call fcn.10005000
jmp 0x1000dd57
mov edx, dword [0x100dd4b0]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d305
mov eax, dword [eax + 0x14]
mov dword [0x100dcf34], eax
mov edx, dword [0x100dd3f0]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d31e
mov eax, dword [eax + 0x14]
mov dword [0x100dcf2c], eax
mov edx, dword [0x100dd3fc]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d341
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d341
push eax
mov ecx, 0x100db228
call fcn.10002170
mov edx, dword [0x100dd618]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d364
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d364
push eax
mov ecx, 0x100db0a8
call fcn.10002170
push 0x61
call dword [sym.imp.USER32.dll_IsCharAlphaA]
push 0x41
call dword [sym.imp.USER32.dll_IsCharLowerA]
mov edx, dword [0x100dd760]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d390
cmp dword [eax + 0xc], 0
setne byte [0x100dcf32]
mov edx, dword [0x100dd3e0]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d3ac
cmp dword [eax + 0xc], 0
setne byte [0x100dd147]
mov edx, dword [0x100dd6d8]
mov ecx, esi
call fcn.100277a0
test eax, eax
je 0x1000d3cf
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000d3cf
push eax
mov ecx, 0x100db078
call fcn.10002170
mov edx, dword [0x100dd464]
mov ecx, esi
call fcn.100277a0
mov edi, eax
test edi, edi
jne 0x1000d416
mov ecx, str.cFNaDl1WFhUKEF9UQEZfU14BRhJeFwxBQhU
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
lea ecx, [edi + 1]
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x240]
lea esi, [edi - 4]
call fcn.10005000
jmp 0x1000dd57
mov edx, dword [0x100dd5e0]
mov ecx, esi
call fcn.100277a0
mov ebx, eax
mov dword [esp + 0x60], ebx
test ebx, ebx
jne 0x1000d461
mov ecx, str.cFNaDl1WFhUKEF9UQEZfU14BRkE
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
lea ecx, [ebx + 1]
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x240]
lea esi, [ebx - 5]
call fcn.10005000
jmp 0x1000dd57
mov edx, dword [0x100dd4f8]
mov ecx, dword [0x100dd360]
call fcn.100277a0
test eax, eax
je 0x1000d47d
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x1000d482
mov eax, 0x100ba833
push eax
mov ecx, 0x100db018
call fcn.10002170
mov ecx, 0x100db018
call fcn.10031870
test al, al
jne 0x1000d4d3
mov ecx, str.ZUtAFl1fFhcEXFFVVRJZWlZEWl1NRRNVQRVcBRc
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 1
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x240]
mov esi, 0xfffffffa
call fcn.10005000
jmp 0x1000dd57
mov ecx, edi
xor esi, esi
call fcn.10027780
test eax, eax
jle 0x1000d53c
mov eax, dword [edi + 8]
mov ecx, esi
test eax, eax
je 0x1000d530
lea esp, [esp]
test ecx, ecx
jle 0x1000d4fd
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x1000d4f0
jmp 0x1000d530
test eax, eax
je 0x1000d530
push eax
lea ecx, [esp + 0x2e0]
call fcn.1002b480
push eax
mov byte [esp + 0x478], 0xf
call fcn.100221d0
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x474], 0xa
call fcn.1000de20
mov ecx, edi
inc esi
call fcn.10027780
cmp esi, eax
jl 0x1000d4e0
xor edi, edi
mov ecx, ebx
mov dword [esp + 0xa0], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x80], edi
call fcn.10027780
test eax, eax
jle 0x1000daf9
mov eax, edi
mov edi, dword [ebx + 8]
mov dword [esp + 0xc], edi
test edi, edi
je 0x1000dadb
test eax, eax
jle 0x1000d58c
mov edi, dword [edi]
dec eax
mov dword [esp + 0xc], edi
test edi, edi
jne 0x1000d578
jmp 0x1000dadb
test edi, edi
je 0x1000dadb
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x474], 0x10
mov edx, dword [0x100dd77c]
mov ecx, edi
call fcn.100277a0
mov ebx, eax
test ebx, ebx
je 0x1000d60a
mov ecx, ebx
xor esi, esi
call fcn.10027780
test eax, eax
jle 0x1000d60a
mov eax, dword [ebx + 8]
mov ecx, esi
test eax, eax
je 0x1000d5fe
lea ecx, [ecx]
test ecx, ecx
jle 0x1000d5ed
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x1000d5e0
jmp 0x1000d5fe
test eax, eax
je 0x1000d5fe
add eax, 0x14
push eax
lea ecx, [esp + 0x4c]
call fcn.10022400
mov ecx, ebx
inc esi
call fcn.10027780
cmp esi, eax
jl 0x1000d5d4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebx
mov byte [esp + 0x474], 0x11
mov edx, dword [0x100dd4c4]
mov ecx, edi
call fcn.100277a0
mov dword [esp + 0x64], eax
test eax, eax
je 0x1000d6ea
mov ecx, eax
mov dword [esp + 0x2c], esi
call fcn.10027780
test eax, eax
jle 0x1000d6ea
mov edx, ebx
mov ecx, esi
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 8]
test eax, eax
je 0x1000d6cd
lea ecx, [ecx]
test ecx, ecx
jle 0x1000d66d
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x1000d660
jmp 0x1000d6cd
test eax, eax
je 0x1000d6cd
lea edi, [eax + 0x14]
cmp edi, esi
jae 0x1000d6a4
cmp ebx, edi
ja 0x1000d6a4
sub edi, ebx
sar edi, 2
cmp esi, edx
jne 0x1000d69b
push ecx
lea ecx, [esp + 0x1c]
call fcn.10023150
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
test esi, esi
je 0x1000d6c6
mov eax, dword [ebx + edi*4]
jmp 0x1000d6c4
cmp esi, edx
jne 0x1000d6be
push ecx
lea ecx, [esp + 0x1c]
call fcn.10023150
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
test esi, esi
je 0x1000d6c6
mov eax, dword [edi]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x64]
inc dword [esp + 0x2c]
call fcn.10027780
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x1000d652
mov edi, dword [esp + 0xc]
mov edx, dword [0x100dd604]
mov ecx, edi
call fcn.100277a0
mov edx, dword [0x100dd490]
mov ecx, edi
mov esi, eax
call fcn.100277a0
test eax, eax
je 0x1000d711
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x1000d716
mov edx, 0x100ba846
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
cmp byte [edx], 0
jne 0x1000d73d
xor ecx, ecx
jmp 0x1000d751
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0xc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000d746
sub ecx, dword [esp + 0xc]
push ecx
push edx
lea ecx, [esp + 0x90]
call fcn.10004460
mov byte [esp + 0x474], 0x12
test esi, esi
je 0x1000d770
mov edx, dword [esi + 0x14]
jmp 0x1000d772
xor edx, edx
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x70]
call fcn.1001c420
add esp, 8
mov byte [esp + 0x474], 0x14
cmp dword [esp + 0x9c], 0x10
jb 0x1000d7ac
push dword [esp + 0x88]
call fcn.100852d7
add esp, 4
mov edx, dword [0x100dd45c]
mov ecx, edi
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
call fcn.100277a0
mov ecx, eax
xor eax, eax
mov dword [esp + 0xc], eax
test ecx, ecx
je 0x1000d802
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jle 0x1000d802
mov esi, dword [esp + 0xa0]
mov eax, ecx
inc esi
cdq
idiv esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xc], eax
push eax
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x80], esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0x8c]
push eax
call fcn.10022e90
sub esp, 0xc
mov byte [esp + 0x49c], 0x15
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.100222a0
sub esp, 0xc
lea eax, [esp + 0x7c]
mov ecx, esp
push eax
mov byte [esp + 0x4ac], 0x16
call fcn.100222a0
push edi
lea ecx, [esp + 0x358]
mov byte [esp + 0x4ac], 0x14
call fcn.10028860
push eax
mov byte [esp + 0x478], 0x17
call fcn.10022470
lea ecx, [esp + 0x320]
mov byte [esp + 0x474], 0x14
call fcn.1000de50
push 1
push 0x100bd2dc
lea ecx, [esp + 0x38]
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
call fcn.10004460
mov byte [esp + 0x474], 0x18
push 1
push 0x100bd2e0
lea ecx, [esp + 0xac]
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
call fcn.10004460
cmp dword [esp + 0x80], 0
mov byte [esp + 0x474], 0x19
jne 0x1000d9f8
push dword [esp + 0x40]
cmp dword [esp + 0x48], 0x10
lea eax, [esp + 0x34]
cmovae eax, dword [esp + 0x34]
push 0
push eax
mov ecx, 0x100db228
call fcn.10022d20
cmp eax, 0xffffffff
setne al
test al, al
jne 0x1000d956
push 0
lea edx, [esp + 0xa8]
mov ecx, 0x100db228
call fcn.10044e50
add esp, 4
test al, al
je 0x1000d9f8
push dword [0x100dd688]
lea ecx, [esp + 0x6c]
call fcn.10022180
test eax, eax
jne 0x1000d9f8
push dword [esp + 0xc]
mov esi, dword [0x100dd47c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0xf0], esp
push dword [0x100dd5d8]
call fcn.100220f0
sub esp, 0xc
mov byte [esp + 0x49c], 0x1b
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.100222a0
sub esp, 0xc
lea eax, [esp + 0x7c]
mov ecx, esp
push eax
mov byte [esp + 0x4ac], 0x1c
call fcn.100222a0
push edi
lea ecx, [esp + 0x358]
mov byte [esp + 0x4ac], 0x19
call fcn.10028860
push eax
push esi
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x480], 0x1d
call fcn.10024090
lea ecx, [esp + 0x320]
call fcn.1000de50
cmp dword [esp + 0xb8], 0x10
jb 0x1000da11
push dword [esp + 0xa4]
call fcn.100852d7
add esp, 4
cmp dword [esp + 0x44], 0x10
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
jb 0x1000da42
push dword [esp + 0x30]
call fcn.100852d7
add esp, 4
cmp dword [esp + 0x7c], 8
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
jb 0x1000da6a
push dword [esp + 0x68]
call fcn.100852d7
add esp, 4
xor eax, eax
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], 0
mov word [esp + 0x68], ax
test ebx, ebx
je 0x1000daa6
push ebx
call fcn.100852d7
add esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x474], 0xa
mov eax, dword [esp + 0x48]
test eax, eax
je 0x1000dad7
push eax
call fcn.100852d7
add esp, 4
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x80]
inc edi
mov ecx, ebx
mov dword [esp + 0x80], edi
call fcn.10027780
cmp edi, eax
jl 0x1000d567
mov ecx, str.YFNfC1xTQgRFUVRdFAlWU10WRw
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
mov ecx, dword [0x100dd480]
mov esi, dword [0x100dd47c]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add esp, 0x18
xor ebx, ebx
add eax, edx
je 0x1000db72
xor edi, edi
lea ecx, [esi + edi]
call fcn.1002aef0
mov ecx, dword [0x100dd480]
mov esi, dword [0x100dd47c]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
lea edi, [edi + 0x148]
cmp ebx, eax
jb 0x1000db40
mov ecx, str.YFNfC1xTQggKXhhSWwtAWV0QUVY
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
call fcn.1000eaf0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x474], 0x1e
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
mov esi, dword [0x100dcf3c]
sub ecx, edi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x1000dc76
mov ebx, dword [sym.imp.USER32.dll_IsCharUpperA]
lea esp, [esp]
imul esi, esi, 0x148
push 1
lea eax, [esp + 0x4c]
lea ecx, [edi + esi]
push eax
call fcn.10029470
test al, al
je 0x1000dc1b
cmp dword [0x100dcf2c], 0
je 0x1000dc1b
cmp dword [0x100dcf34], 0
jne 0x1000dc70
mov esi, dword [0x100dcf3c]
imul esi, esi, 0x148
add esi, dword [0x100dd47c]
push 0x42
call ebx
mov word [esi + 0xb0], 0
push 0x42
call ebx
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
mov esi, dword [0x100dcf3c]
sub ecx, edi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [0x100dcf3c], esi
cmp eax, esi
ja 0x1000dbf0
jmp 0x1000dc76
mov esi, dword [0x100dcf3c]
mov eax, dword [0x100dafa8]
cmp esi, eax
cmovg eax, esi
lea ecx, [esp + 0x240]
mov dword [0x100dafa8], eax
xor esi, esi
call fcn.10005000
jmp 0x1000dd57
mov ecx, str.cFNaDl1WFhUKEEhQRhVVGlwLQ1xVCgJQEglfB1xKRQ
call fcn.10045550
sub esp, 0x18
mov edx, esp
mov esi, eax
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [esi], 0
jne 0x1000dcc3
xor ecx, ecx
jmp 0x1000dcd1
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000dcc8
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10004460
mov ecx, 1
call fcn.1002bd20
mov eax, dword [0x100ddb74]
add esp, 0x18
test al, 1
jne 0x1000dd04
or eax, 1
mov dword [0x100ddb74], eax
call fcn.1003e5e0
mov dword [0x100ddb1c], eax
jmp 0x1000dd09
mov eax, dword [0x100ddb1c]
call eax
mov ecx, 0x100bd180
mov esi, eax
call fcn.10045550
sub esi, ebx
push esi
push ecx
mov ecx, str.Fg8NQndUUAQXEFxQQAcQUVcTWl5WBAdRVkZQDxk
mov edi, eax
call fcn.10045550
mov edx, eax
mov ecx, 0x100dd528
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.100054d0
mov edx, edi
mov ecx, eax
call fcn.10007e30
mov edx, 0xfffffff6
mov ecx, edx
call fcn.1001eb10
mov esi, 0xfffffffe
cmp dword [esp + 0x104], 0x10
jb 0x1000dd70
push dword [esp + 0xf0]
call fcn.100852d7
add esp, 4
cmp dword [esp + 0xec], 0x10
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], 0
mov byte [esp + 0xf0], 0
jb 0x1000dda7
push dword [esp + 0xd8]
call fcn.100852d7
add esp, 4
cmp dword [esp + 0xd0], 0x10
mov dword [esp + 0xec], 0xf
mov dword [esp + 0xe8], 0
mov byte [esp + 0xd8], 0
jb 0x1000ddde
push dword [esp + 0xbc]
call fcn.100852d7
add esp, 4
lea ecx, [esp + 0x108]
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xcc], 0
mov byte [esp + 0xbc], 0
call fcn.10005000
mov ecx, dword [esp + 0x46c]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret