Function at 0x10014540
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a79b4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
push esi
push edi
mov edi, ecx
mov ecx, str.aWFbDU9wVwIORUhUgBVRw
mov dword [esp + 0x18], 0
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 0x10014599
xor ecx, ecx
jmp 0x100145a9
mov ecx, esi
lea ebx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100145a0
sub ecx, ebx
push ecx
push esi
mov ecx, edx
call fcn.10004460
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
cmp byte [0x100dcf32], 0
jne 0x1001462f
mov ecx, str.dFNQCU1CFg4DVl1DR0ZeWkxEUVxYBw9RVkg
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 0x100145f3
xor ecx, ecx
jmp 0x10014601
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100145f8
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10004460
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
or eax, 0xffffffff
mov ecx, dword [esp + 0x26c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x100dcf30], 0
je 0x1001464f
mov ecx, str.dFNQCU1CFg4DVl1DR0ZRWUoBVVZARRBcXRFXTw
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
jmp 0x1001460a
mov ebx, dword [0x100dd47c]
mov ecx, dword [0x100dd480]
sub ecx, ebx
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
mov dword [esp + 0x28], ebx
add eax, edx
jne 0x1001467b
mov ecx, str.eF0TDV5UUxMWHg
jmp 0x1001463d
xor eax, eax
mov ecx, ebx
mov dword [esp + 0x44], eax
mov dword [0x100dd15c], edi
mov byte [0x100dcf01], al
call fcn.10029240
cmp eax, 7
je 0x1001469f
mov ecx, str.dFNQCU1CFg4DVl1DR0ZfW1QdFFdXBAFYVwIZB1ZKFgxDXkcLFV1QBwBCGFJbCFZcXxFGU00MDFpBSA
jmp 0x1001463d
lea eax, [esp + 0x90]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [esp + 0x94]
push eax
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
mov ecx, dword [0x100daeb0]
sub ebx, edx
sub esi, eax
mov dword [esp + 0x14], ebx
cmp ecx, 0xffffffff
jne 0x100146fe
mov dword [0x100daeb0], eax
jmp 0x10014702
cmp ecx, eax
jne 0x10014715
push 0
push ebx
add esi, 0x14
push esi
push edx
add eax, 0xfffffff6
push eax
push edi
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [0x100dcf08]
push 0x68
mov dword [esp + 0x10], eax
call fcn.10086a49
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x274], 0
test eax, eax
je 0x1001474b
push ecx
push ebx
push esi
sub esp, 8
mov ecx, eax
push edi
call fcn.10025620
jmp 0x1001474d
xor eax, eax
mov dword [esp + 0x274], 0xffffffff
sub esp, 8
lea ecx, [esp + 0xa8]
mov dword [0x100dcf08], eax
call fcn.100059e0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x278], 1
call fcn.10028be0
mov edx, eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x274], 2
call fcn.10023e20
mov edx, 0x100bdaa4
mov ecx, eax
call fcn.10007e30
lea ecx, [esp + 0x54]
mov byte [esp + 0x274], 1
call fcn.10002140
mov edx, dword [0x100dd740]
lea ecx, [esp + 0xa0]
call fcn.10007e30
mov edx, 0x100bdaac
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db0f0
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bdaa8
mov ecx, eax
call fcn.10007e30
mov ecx, dword [esp + 0x28]
call fcn.10029240
cmp eax, 7
jne 0x1001481c
push dword [0x100dd6dc]
lea ecx, [esp + 0x70]
call fcn.100020e0
mov edi, eax
mov byte [esp + 0x274], 3
mov ebx, 1
jmp 0x1001483c
push 0x100db210
lea ecx, [esp + 0x58]
call fcn.10008a30
mov edi, eax
mov dword [esp + 0x274], 4
mov ebx, 2
mov edx, dword [0x100dd3f8]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x18], ebx
call fcn.10007e30
mov edx, 0x100bdab4
mov ecx, eax
call fcn.10007e30
mov edx, edi
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bdab0
mov ecx, eax
call fcn.10007e30
test bl, 2
je 0x10014884
lea ecx, [esp + 0x54]
and ebx, 0xfffffffd
call fcn.10002140
mov dword [esp + 0x274], 1
test bl, 1
je 0x1001489d
lea ecx, [esp + 0x6c]
call fcn.10002140
mov edx, dword [0x100dd5e8]
push esi
push ecx
lea ecx, [esp + 0xa8]
call fcn.10007e30
mov edx, 0x100bdabc
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bdab8
mov ecx, eax
call fcn.10007e30
push dword [esp + 0x14]
mov edx, dword [0x100dd508]
push ecx
lea ecx, [esp + 0xa8]
call fcn.10007e30
mov edx, 0x100bdac4
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bdac0
mov ecx, eax
call fcn.10007e30
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov edx, dword [0x100dd718]
movzx eax, ax
push eax
push ecx
lea ecx, [esp + 0xa8]
call fcn.10007e30
mov edx, 0x100bdacc
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021c90
mov edx, 0x100bdac8
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 + 0xa8]
call fcn.10007e30
mov edx, 0x100bdad4
mov ecx, eax
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021c90
mov edx, 0x100bdad0
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd764]
lea ecx, [esp + 0xa0]
call fcn.10007e30
mov edx, 0x100bdadc
mov ecx, eax
call fcn.10007e30
mov edx, 0x100db1f8
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bdad8
mov ecx, eax
call fcn.10007e30
mov edx, dword [0x100dd608]
lea ecx, [esp + 0xa0]
call fcn.10007e30
mov edx, 0x100bdae0
mov ecx, eax
call fcn.10007e30
mov ecx, dword [esp + 0x28]
lea ebx, [ecx + 0x13c]
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
test eax, 0xfffffffc
jne 0x1001500d
call fcn.100292c0
push 0x14
call fcn.10085dc2
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x274], 5
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
mov dword [esp + 0x2c], 0
add eax, edx
je 0x10014f64
xor ebx, ebx
mov dword [esp + 0x14], ebx
lea edi, [ebx + esi]
mov ecx, edi
mov dword [esp + 0x1c], edi
call fcn.10029240
cmp eax, 7
je 0x10014f20
cmp byte [edi + 0xb0], 0
jne 0x10014a8f
cmp byte [edi + 0x128], 0
je 0x10014f20
mov al, byte [edi + 0x12d]
test al, al
jne 0x10014f20
sub esp, 8
lea ecx, [esp + 0x140]
call fcn.100059e0
lea eax, [esp + 0x54]
push eax
mov ecx, edi
mov byte [esp + 0x278], 6
call fcn.10028d50
mov esi, eax
mov ecx, str.el1cCVFcUUEDX0oRVgdTXk0UFF1fAwZGEgBWEwMY
mov byte [esp + 0x274], 7
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x138]
call fcn.10007e30
mov edx, esi
mov ecx, eax
call fcn.10023e20
lea ecx, [esp + 0x54]
mov byte [esp + 0x274], 6
call fcn.10002140
sub esp, 0x18
lea ecx, [esp + 0x150]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
mov ecx, edi
call fcn.1002a9f0
mov ecx, edi
call fcn.1002abd0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x274], 8
mov ecx, dword [0x100dd480]
mov esi, dword [0x100dd47c]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
xor ebx, ebx
shr eax, 0x1f
mov dword [esp + 0x10], ebx
add eax, edx
je 0x10014c58
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x10014b80
cmp byte [edi + esi + 0xb0], 0
lea ecx, [edi + esi]
jne 0x10014b9a
cmp byte [ecx + 0x128], 0
je 0x10014c24
lea eax, [esp + 0x84]
push eax
call fcn.1000a170
mov byte [esp + 0x274], 9
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
sub esi, ebx
sar esi, 2
test esi, esi
je 0x10014be4
mov edi, ebx
jmp 0x10014bd0
push edi
lea ecx, [esp + 0x3c]
call fcn.10022400
add edi, 4
dec esi
jne 0x10014bd0
mov edi, dword [esp + 0x20]
mov byte [esp + 0x274], 8
test ebx, ebx
je 0x10014c1a
push ebx
call fcn.100852d7
add esp, 4
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov ebx, dword [esp + 0x10]
mov esi, dword [0x100dd47c]
mov ecx, dword [0x100dd480]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc ebx
add edi, 0x148
add eax, edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], edi
cmp ebx, eax
jb 0x10014b80
mov edi, dword [esp + 0x1c]
mov ecx, dword [0x100dd480]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
mov dword [esp + 0x20], 0
add eax, edx
je 0x10014e60
xor ebx, ebx
mov dword [esp + 0x30], ebx
lea eax, [esp + 0x54]
add ebx, esi
push eax
mov ecx, edi
mov dword [esp + 0x14], ebx
call fcn.10028ac0
mov esi, eax
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
mov byte [esp + 0x278], 0xa
call fcn.10028ac0
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
mov ecx, eax
jb 0x10014cba
mov esi, dword [esi]
cmp dword [ecx + 0x14], 0x10
mov edi, dword [ecx + 0x10]
jb 0x10014cc5
mov ecx, dword [ecx]
mov eax, ebx
cmp edi, ebx
cmovb eax, edi
push eax
mov edx, esi
call fcn.1000a0b0
add esp, 4
test eax, eax
jne 0x10014ced
cmp edi, ebx
jae 0x10014ce4
or eax, 0xffffffff
jmp 0x10014ceb
xor eax, eax
cmp edi, ebx
setne al
test eax, eax
sete bl
cmp dword [esp + 0x80], 0x10
jb 0x10014d06
push dword [esp + 0x6c]
call fcn.100852d7
add esp, 4
mov byte [esp + 0x274], 8
cmp dword [esp + 0x68], 0x10
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
jb 0x10014d39
push dword [esp + 0x54]
call fcn.100852d7
add esp, 4
test bl, bl
jne 0x10014d62
sub esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esp
push eax
call fcn.100222a0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, esi
call fcn.100193a0
add esp, 0xc
test al, al
jne 0x10014da9
mov ecx, dword [0x100dd480]
mov esi, dword [0x100dd47c]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc edi
add ebx, 0x148
add eax, edx
mov dword [esp + 0x20], edi
cmp edi, eax
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], ebx
jae 0x10014e64
jmp 0x10014c85
mov edi, dword [esp + 0x1c]
push esi
mov ecx, edi
mov byte [esi + 0x12d], 1
call fcn.1000a270
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x4c]
call fcn.10022400
sub esp, 8
lea ecx, [esp + 0x1d8]
call fcn.100059e0
lea eax, [esp + 0x54]
mov byte [esp + 0x274], 0xb
mov ecx, dword [esp + 0x10]
push eax
call fcn.10028d50
mov esi, eax
mov ecx, str.cF1GDFwSVAAGW01BFAlWU10WDhI
mov byte [esp + 0x274], 0xc
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x1d0]
call fcn.10007e30
mov edx, esi
mov ecx, eax
call fcn.10023e20
mov byte [esp + 0x274], 0xb
cmp dword [esp + 0x68], 0x10
jb 0x10014e35
push dword [esp + 0x54]
call fcn.100852d7
add esp, 4
sub esp, 0x18
lea ecx, [esp + 0x1e8]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x1d0]
call fcn.10005000
jmp 0x10014e64
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.1002ab40
mov ecx, edi
call fcn.1002ad30
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10014e9b
push eax
call fcn.100852d7
add esp, 4
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x274], 5
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 4]
mov dword [esp + eax + method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [esp + ecx + 0x134], eax
lea ecx, [esp + 0x13c]
call fcn.10005ac0
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 4]
mov dword [esp + eax + method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [esp + ecx + 0x134], eax
lea eax, [esp + 0x188]
push eax
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::ios_base.0
call fcn.10081506
mov ebx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [0x100dd480]
mov esi, dword [0x100dd47c]
mov edi, dword [esp + 0x2c]
sub ecx, esi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc edi
add ebx, 0x148
add eax, edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], ebx
cmp edi, eax
jb 0x10014a62
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
jmp 0x10014f66
xor edx, edx
mov esi, dword [esp + 0x48]
sub edx, esi
sar edx, 2
xor edi, edi
mov dword [esp + 0x14], edx
test edx, edx
je 0x10014ff0
lea esp, [esp]
mov eax, dword [ebx + 4]
mov esi, dword [esi + edi*4]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], esi
cmp ecx, eax
jae 0x10014fc9
mov ecx, dword [ebx]
lea eax, [esp + 0x34]
cmp ecx, eax
mov eax, dword [ebx + 4]
ja 0x10014fc9
lea esi, [esp + 0x34]
sub esi, ecx
sar esi, 2
cmp eax, dword [ebx + 8]
jne 0x10014fb9
push ecx
mov ecx, ebx
call fcn.10023150
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
test ecx, ecx
je 0x10014fe3
mov eax, dword [eax + esi*4]
mov dword [ecx], eax
jmp 0x10014fe3
cmp eax, dword [ebx + 8]
jne 0x10014fda
push ecx
mov ecx, ebx
call fcn.10023150
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 4]
test eax, eax
je 0x10014fe3
mov dword [eax], esi
add dword [ebx + 4], 4
mov esi, dword [esp + 0x48]
inc edi
cmp edi, edx
jb 0x10014f80
push ebx
mov ecx, ebx
call fcn.100222f0
mov byte [esp + 0x274], 1
test esi, esi
je 0x1001500d
push esi
call fcn.100852d7
add esp, 4
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 eax, edx
je 0x10015070
xor edi, edi
xor ebx, ebx
add esi, edi
mov ecx, esi
call fcn.1002ab40
mov ecx, esi
call fcn.1002ad30
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
add edi, 0x148
cmp ebx, eax
jb 0x10015032
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 2
test eax, eax
jne 0x10015084
or esi, 0xffffffff
jmp 0x1001537e
xor edi, edi
test eax, eax
je 0x10015104
lea ebx, [ebx]
mov eax, dword [ebx]
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [eax + edi*4]
call fcn.10028ac0
mov esi, eax
mov byte [esp + 0x274], 0xd
mov edx, dword [0x100dd488]
lea ecx, [esp + 0xa0]
call fcn.10007e30
mov edx, 0x100bdb34
mov ecx, eax
call fcn.10007e30
mov edx, esi
mov ecx, eax
call fcn.10023e20
mov edx, 0x100bdb30
mov ecx, eax
call fcn.10007e30
mov byte [esp + 0x274], 1
cmp dword [esp + 0x68], 0x10
jb 0x100150f7
push dword [esp + 0x54]
call fcn.100852d7
add esp, 4
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
inc edi
sar eax, 2
cmp edi, eax
jb 0x10015090
sub esp, 0x18
lea ecx, [esp + 0xb8]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xa4]
call fcn.10005aa0
mov byte [esp + 0x274], 0xe
mov ecx, dword [0x100dcf08]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov byte [esp + 0x274], 1
cmp dword [esp + 0x80], 0x10
jb 0x10015164
push dword [esp + 0x6c]
call fcn.100852d7
add esp, 4
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
test ebx, ebx
je 0x10015195
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov eax, dword [0x100ddb74]
mov dword [0x100dd368], 0
test al, 1
jne 0x100152a3
or eax, 1
mov dword [0x100ddb74], eax
mov eax, dword [0x100ddbe8]
test al, 1
jne 0x10015297
or eax, 1
mov dword [0x100ddbe8], eax
lea eax, [esp + 0xc]
push eax
mov edx, 0x10
mov ecx, str.cVdHNlFRXSIKRVZF
call fcn.10032f90
mov esi, dword [esp + 0x10]
add esp, 4
xor edx, edx
mov ebx, eax
test esi, esi
jle 0x1001520d
lea esp, [esp]
mov ecx, edx
and ecx, 0x8000001f
jns 0x100151ff
dec ecx
or ecx, 0xffffffe0
inc ecx
mov al, byte [ecx + str.623b826ae0814f058d429ec42f9a986a]
xor byte [ebx + edx], al
inc edx
cmp edx, esi
jl 0x100151f0
mov eax, dword [0x100ddbdc]
test al, 1
jne 0x1001527e
or eax, 1
mov dword [0x100ddbdc], eax
lea eax, [esp + 0xc]
push eax
mov edx, 0x10
mov ecx, str.XVdBDF1eBVNLVFRd
call fcn.10032f90
mov edi, dword [esp + 0x10]
add esp, 4
xor edx, edx
mov esi, eax
test edi, edi
jle 0x1001525e
mov ecx, edx
and ecx, 0x8000001f
jns 0x10015250
dec ecx
or ecx, 0xffffffe0
inc ecx
mov al, byte [ecx + str.623b826ae0814f058d429ec42f9a986a]
xor byte [edx + esi], al
inc edx
cmp edx, edi
jl 0x10015241
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push ebx
push eax
mov dword [0x100ddbbc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100ddb6c], eax
mov dword [0x100ddb1c], eax
jmp 0x100152a8
mov eax, dword [0x100ddbbc]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100ddb6c], eax
mov dword [0x100ddb1c], eax
jmp 0x100152a8
mov eax, dword [0x100ddb6c]
mov dword [0x100ddb1c], eax
jmp 0x100152a8
mov eax, dword [0x100ddb1c]
call eax
mov ecx, dword [0x100dd480]
mov edx, dword [esp + 0x28]
mov dword [0x100dd14c], eax
mov dword [0x100dd150], 0
cmp edx, ecx
jae 0x10015322
mov edi, dword [0x100dd47c]
cmp edi, edx
ja 0x10015322
sub edx, edi
mov eax, 0x63e7063f
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, dword [0x100dd484]
jne 0x10015303
push ecx
mov ecx, 0x100dd47c
call fcn.10023260
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
imul esi, esi, 0x148
add esi, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x274], 0xf
test ecx, ecx
je 0x1001535f
push esi
jmp 0x10015354
cmp ecx, dword [0x100dd484]
jne 0x1001533f
push ecx
mov ecx, 0x100dd47c
call fcn.10023260
mov ecx, dword [0x100dd480]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x274], 0x10
test ecx, ecx
je 0x1001535f
push edx
call fcn.10024d80
mov ecx, dword [0x100dd480]
mov eax, dword [esp + 0x44]
add ecx, 0x148
mov dword [0x100dd480], ecx
test eax, eax
je 0x1001537c
push eax
call fcn.10085c14
add esp, 4
xor esi, esi
mov dword [esp + 0x274], 0xffffffff
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xa0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [esp + ecx + 0x9c], eax
lea ecx, [esp + 0xa4]
call fcn.10005ac0
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xa0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0xf0]
mov edx, dword [ecx + 4]
push eax
lea ecx, [edx - 8]
mov dword [esp + edx + 0xa0], ecx
mov dword [esp + 0xf4], vtable.std::ios_base.0
call fcn.10081506
mov ecx, dword [esp + 0x270]
add esp, 4
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret