Function at 0x10026129
Capabilities:
Identify system language via api
Query or enumerate registry value

Disassembly:
mov eax, 0x10070c45
call fcn.1006fd40
sub esp, 0x19c
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x4c], ecx
inc edi
mov byte [ebp - 0x35], dl
push edi
lea ecx, [ebp - 0xac]
call fcn.100214ae
xor ebx, ebx
lea ecx, [ebp - 0xec]
push 3
mov dword [ebp - 4], ebx
call fcn.100214ae
mov dword [ebp - 0x14], 0xd9dcee34
mov dword [ebp - 0x2c], 0xf86f25db
mov dword [ebp - 0x24], 0xa97f51ef
mov dword [ebp - 0x10], ebx
jmp 0x1002618c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002617d
mov dword [ebp - 0x10], ebx
jmp 0x100261a5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10026196
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xec]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
cmp dword [eax], 0xffffffff
sbb eax, eax
neg eax
neg eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100261e8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
lea ecx, [ebp - 0xec]
call fcn.10021530
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xac]
call fcn.10021530
push 4
mov dword [ebp - 0x54], 0xfffffff7
lea ecx, [ebp - 0x104]
pop esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x40], 0xffffffff
push esi
call fcn.100214ae
mov dword [ebp - 4], edi
lea ecx, [ebp - 0xb8]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009550]
mov eax, 0x9f4ffcf3
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x24], 0x9e9d
push eax
mov dword [ebp - 0x10], 0x389a9b8f
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x1c], edi
push ebx
movdqu xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
call fcn.10024eda
mov dword [ebp - 0x10], ebx
jmp 0x100262b1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x104]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100262a1
mov dword [ebp - 0x10], ebx
jmp 0x100262cc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1a8], 0x94b5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100262bb
dec dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], 0xffffffe3
jmp 0x10026421
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], 0x5a2c03fd
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], 0x10
jle 0x1002641e
mov esi, dword [ebp - 0x104]
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 0x14], 7
sbb eax, eax
xor ecx, ecx
inc eax
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x647c
mov dword [esi + 8], ecx
setne al
xor ecx, ecx
cmp eax, 0x842c
setg cl
imul ecx, dword [ebp - 0x40]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0xc4]
cmp ecx, 0xfff6
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
mov dword [ebp - 0x2c], edx
xor edx, edx
cmp dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 2
setle al
cmp dword [ebp - 0x28], eax
jg 0x1002639c
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10026411
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
jmp 0x10026411
mov dword [ebp - 0x34], 0x585f1c2b
mov dword [ebp - 0x20], 5
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0x54]
sub edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x3cde1380
jge 0x100263dd
mov ecx, edi
cmp dword [ebp - 0x14], ebx
jne 0x100263df
mov ecx, ebx
mov eax, dword [ebp - 0x34]
add eax, ecx
xor ecx, ecx
cmp eax, 0x6ffba242
setl cl
xor eax, eax
cmp ecx, 0x15dbe4b2
setl al
imul eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x28], ebx
jne 0x1002641e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x10
jg 0x10026304
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
jg 0x100262e3
lea ecx, [ebp - 0xb8]
call fcn.10021530
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.10021530
push 2
lea ecx, [ebp - 0x8c]
call fcn.100214ae
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x10026471
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0xac64a684
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002645e
mov eax, dword [ebp - 0x8c]
mov dword [eax], 0xffffffea
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10026496
push ebx
push ebx
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [ebp - 0x8c]
inc dword [edx]
mov eax, dword [edx]
cmp eax, 0xfffffff1
jl 0x10026483
lea esi, [edx + 4]
cmp dword [esi], ebx
jne 0x100264c8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x8c]
xor eax, eax
cmp dword [edx], eax
sete al
sub eax, dword [edx]
mov eax, ebx
je 0x100264ca
mov eax, edi
xor ecx, ecx
cmp eax, dword [edx]
setl cl
xor eax, eax
cmp ecx, dword [esi]
lea ecx, [ebp - 0x8c]
setg al
mov dword [edx], eax
call fcn.10021530
mov esi, dword [0x1007760c]
lea ecx, [ebp - 0xe0]
push edi
mov dword [ebp - 0x2c], esi
call fcn.100214ae
mov dword [ebp - 0x10], 0x4f833fcb
mov dword [ebp - 0x14], ebx
jmp 0x10026519
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10026506
mov dword [ebp - 0x10], ebx
jmp 0x10026536
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xe77dd688
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10026523
lea ecx, [ebp - 0xe0]
call fcn.10021530
cmp byte [ebp - 0x35], 0
mov edi, dword [ebp + 8]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
je 0x10026679
xor ecx, ecx
inc ecx
cmp esi, ecx
jne 0x10026679
mov dword [ebp - 0x10], 0x9000d4e7
mov dword [ebp - 0x28], 0xb75da2ca
mov dword [ebp - 0x20], 0xa83afd4
mov dword [edi + 8], 4
mov dword [ebp - 0x14], ebx
jmp 0x10026598
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0xb9102071
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002658a
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x10026672
xor esi, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x3c], 0x98737a30
mov dword [ebp - 0x14], ebx
jmp 0x100265d6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13c], 0x6bc044b0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100265c5
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5c]
add eax, dword [ebp - 0x20]
je 0x1002660e
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x5c], ebx
lea eax, [esi + 1]
jne 0x10026610
mov eax, ebx
mov dword [ebp - 0x28], eax
mov edx, 0xd7d2a7e9
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x20]
cmp edx, eax
sbb eax, eax
xor edx, edx
neg eax
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0x59b8bc5
setle al
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x10]
jns 0x100265ac
mov esi, dword [ebp - 0x2c]
mov dword [edi + 0xc], 0x1007760c
cmp dword [ebp - 0x4c], esi
jge 0x10026e16
mov dword [ebp - 0x1c], 0x5dcec3d7
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100266a3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0x3196e86f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10026695
cmp dword [ebp - 0x1c], ebx
je 0x1002688e
xor esi, esi
mov dword [ebp - 0x10], ebx
inc esi
mov dword [ebp - 0x28], 7
mov ecx, esi
cmp dword [ebp - 0x10], ebx
jne 0x100266c8
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x10]
jl 0x100266ec
mov edx, esi
cmp dword [ebp - 0x28], ebx
jne 0x100266ee
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x1c], ebx
je 0x10026721
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002689f
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
jmp 0x1002689f
mov dword [ebp - 0x20], 0x3726
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x34], 0x4dfb4810
push esi
call fcn.100214ae
mov dword [ebp - 0x14], ebx
jmp 0x10026753
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10026740
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, 0xfff97df9
setle dl
sub edx, eax
jne 0x10026788
mov ecx, ebx
cmp dword [ebp - 0x48], ebx
je 0x1002678a
mov ecx, esi
xor eax, eax
test ecx, ecx
setle al
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], ebx
jmp 0x10026878
mov dword [ebp - 0x40], 0xd1afc438
mov dword [ebp - 0x1c], ebx
jmp 0x1002686c
mov dword [ebp - 0x14], ebx
jmp 0x100267c1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x18c], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100267b0
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x100267d9
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x48], ebx
jne 0x100267e4
mov eax, dword [ebp - 0x10]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x100267e6
mov ecx, esi
mov eax, dword [ebp - 0x44]
sub ecx, eax
inc ecx
je 0x100267f5
mov edx, esi
cmp dword [ebp - 0x48], ebx
jne 0x100267f7
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
mov dword [ebp + eax*4 - 0x48], edx
mov eax, dword [ebp - 0x20]
add eax, edx
jne 0x10026820
mov eax, ebx
cmp dword [ebp - 0x48], ebx
je 0x10026822
mov eax, esi
mov dword [ebp - 0x34], eax
xor edx, edx
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x184]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
mov dword [ebp - 0x24], edx
xor edx, edx
cmp dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xfff9
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xd4]
setge cl
mov dword [eax], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x100267ab
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1002679c
lea ecx, [ebp - 0xd4]
call fcn.10021530
jmp 0x1002689f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002689f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x1c], 0x4e064826
xor esi, esi
mov dword [ebp - 0x34], 0x9fff12f3
mov edi, 0x10077610
mov dword [ebp - 0x24], 0xcb6a7f4e
inc esi
mov dword [ebp - 0x1c], 0x19
cmp dword [ebp - 0x1c], 0xffffffeb
jle 0x1002697c
mov dword [ebp - 0x10], 0x37d45db3
mov dword [ebp - 0x20], 0x7a5b7d8c
mov dword [ebp - 0x14], ebx
jmp 0x100268ee
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100268e0
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x10026974
mov dword [ebp - 0x28], 0x13fe662d
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50], ebx
je 0x1002691b
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50], ebx
je 0x1002691b
mov edx, esi
cmp dword [ebp - 0x20], ebx
jne 0x1002691d
mov edx, ebx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
push 2
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x34]
jl 0x10026940
mov ecx, esi
cmp dword [ebp - 0x10], ebx
jne 0x10026942
mov ecx, ebx
xor eax, eax
cmp edx, ecx
setge al
cmp eax, dword [ebp - 0x10]
jg 0x1002695f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002696f
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
jmp 0x1002696f
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, 0x623b
setle cl
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x10]
jns 0x100268fb
dec dword [ebp - 0x1c]
jmp 0x100268c3
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002698e
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
cmp dword [ebp - 0x4c], 0
jle 0x10026d32
jmp 0x1002699d
xor esi, esi
inc esi
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009560]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x24], 0x47dfa860
push eax
mov dword [ebp - 0x24], 3
lea ecx, [ebp - 0x98]
push ebx
movdqu xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
call fcn.10024eda
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100269fe
push 0x1f18
call dword [sym.imp.USER32.dll_HideCaret]
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x98]
dec dword [eax + 0xc]
call fcn.10021530
mov eax, dword [edi]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], 0xa
jmp 0x10026aef
push 2
lea ecx, [ebp - 0xf8]
call fcn.100214ae
mov dword [ebp - 0x10], ebx
jmp 0x10026a49
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x80], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10026a3f
mov dword [ebp - 0x10], ebx
jmp 0x10026a67
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10026a54
mov dword [ebp - 0x7c], 0xfffffff1
jmp 0x10026adb
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x10026a9a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10026a89
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf8]
sub edx, 0x1f3ff9ec
neg edx
sbb edx, edx
xor ecx, ecx
mov dword [eax], 0xf365653d
inc edx
mov eax, dword [ebp - 0x34]
cmp edx, eax
setg cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x24], esi
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], 6
jne 0x10026a76
lea ecx, [ebp - 0xf8]
call fcn.10021530
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffb
jle 0x10026a2d
push 3
lea ecx, [ebp - 0x12c]
call fcn.100214ae
push 2
pop edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x30], 0x1e1e87df
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10026b2b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10026b1b
mov dword [ebp - 0x30], ebx
jmp 0x10026bd7
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x14], ebx
jmp 0x10026bbb
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x110]
push esi
call fcn.100214ae
mov dword [ebp - 0x10], ebx
jmp 0x10026b73
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x2a831d26
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10026b60
mov dword [ebp - 0x10], ebx
jmp 0x10026b8a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x144], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10026b7d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x110]
mov dword [eax], ecx
mov dword [ebp - 0x140], ecx
lea ecx, [ebp - 0x110]
call fcn.10021530
inc dword [ebp - 0x14]
push 2
pop edx
cmp dword [ebp - 0x14], edx
jle 0x10026b4c
mov dword [ebp - 0x10], ebx
jmp 0x10026bcf
mov dword [ebp - 0x24], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x10026bc5
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jle 0x10026b39
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10021530
mov esi, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x10], 0xf43b7c7c
inc eax
push 3
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x10026c18
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x198], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10026c07
mov dword [ebp - 0x10], ebx
jmp 0x10026c33
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x198], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10026c22
mov dword [ebp - 0x30], 0xd313dd33
lea ecx, [ebp - 0x11c]
push 2
add edi, 8
call fcn.100214ae
xor eax, eax
mov dword [ebp - 4], 3
inc eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xfffffff6
lea ecx, [ebp - 0x150]
push eax
call fcn.100214ae
mov dword [ebp - 0x10], ebx
jmp 0x10026c87
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10026c74
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x10026ca8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xdec4f3f7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10026c95
mov dword [ebp - 0x30], ebx
jmp 0x10026cff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x24], 0x8a94b2ab
mov dword [ebp - 0x20], 0x415fb57a
mov dword [ebp - 0x14], ebx
jmp 0x10026cdd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x120], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10026ccc
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x10026cf9
mov dword [ebp - 0x24], 0xfb5a5efa
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x14]
jns 0x10026cea
inc dword [ebp - 0x20]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffea
jl 0x10026cb2
lea ecx, [ebp - 0x150]
call fcn.10021530
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c]
call fcn.10021530
test esi, esi
jne 0x10026d26
add edi, 8
add edi, dword [ebp - 0x3c]
dec dword [ebp - 0x4c]
jne 0x1002699a
mov esi, dword [edi]
push 4
pop edx
add edi, edx
mov eax, dword [edi]
add edi, edx
test eax, eax
jne 0x10026e13
cmp byte [ebp - 0x35], al
je 0x10026d59
inc eax
cmp dword [ebp - 0x2c], eax
jne 0x10026d59
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi]
add edi, edx
mov dword [ebp - 0x24], eax
push esi
mov eax, dword [edi]
add edi, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], edi
call fcn.10054675
pop ecx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], ebx
push eax
push esi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.1002b5e2
mov ecx, ebx
test esi, esi
jle 0x10026def
mov eax, ecx
and eax, 0x80000001
jns 0x10026da7
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, ecx
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x3c]
cdq
idiv esi
mov eax, dword [ebp - 0x68]
cmp word [eax + edx*2], bx
je 0x10026dd7
mov edi, eax
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x10026dc5
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x68]
xor ebx, ebx
inc ebx
mov word [eax + edx*2], bx
mov al, byte [edx + edi]
mov edx, dword [ebp - 0x2c]
push 0
pop ebx
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10026d99
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x68]
mov dword [edi], esi
test eax, eax
je 0x10026e16
push eax
call fcn.1005a957
pop ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
jmp 0x10026e16
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], 0xac204e2
mov dword [ebp - 0x2c], 0x66bafcb1
mov dword [ebp - 0x14], 0x9f361739
mov dword [ebp - 0x10], ebx
jmp 0x10026e3f
mov dword [ebp - 0x24], 5
cmp dword [ebp - 0x24], ebx
jne 0x10026e45
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffed
jne 0x10026e30
mov dword [ebp - 0x10], 0xffffffff
cmp dword [ebp - 0x10], 0xb
jg 0x10026f1c
xor edi, edi
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100095a0]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0x2c], 0xffffffff
push eax
push ebx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
movdqu xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
call fcn.10024eda
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x10026efd
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xc910
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setg dl
xor ecx, ecx
cmp edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
cmp ecx, 0xfffffffd
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
cmp edx, dword [eax]
setge cl
imul eax, ecx, 0xc65b
cmp dword [ebp - 0x2c], eax
lea eax, [edi + 1]
jg 0x10026eff
mov eax, ebx
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
lea ecx, [ebp - 0x74]
call fcn.10021530
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xb
jle 0x10026e58
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret