Function at 0x10088d10
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1408
call fcn.100bb890
mov eax, dword [0x10118fc0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x10c94297], 0
push esi
push edi
jne 0x1008a1f1
push 0xa00
lea eax, [ebp - 0xa04]
mov byte [0x10c94297], 1
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.lstrlenA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100faff0]
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 0x2c
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6020
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10088df5
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10088e26
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10088e26
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10088e26
push str.lstrlenA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.lstrcpyA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6020
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10088ed2
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10088efd
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10088efd
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10088efd
push str.lstrcpyA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.lstrcpynA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6020
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10088faf
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10088fda
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10088fe0
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10088fe0
push str.lstrcpynA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100faedc
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100faff0]
xor eax, eax
add esp, 0x2c
mov dword [ebp - 0x884], 0x6024
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x1008908c
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x100890b7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x100890b7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x100890b7
push 0x100faedc
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.lstrcpyW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6024
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089169
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089194
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x1008919a
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x1008919a
push str.lstrcpyW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.lstrcpynW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6024
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089246
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089271
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089271
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089271
push str.lstrcpynW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100fa920
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100fb010]
add esp, 0x2c
cmp dword [ebp + 8], 0
mov eax, 4
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6020
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x10089327
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089352
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10089358
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089358
push 0x100fa920
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100fa934
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100fb010]
add esp, 0x2c
cmp dword [ebp + 8], 0
mov eax, 4
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6024
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x10089408
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089433
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089433
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089433
push 0x100fa934
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.GetStringTypeA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100fafe0]
add esp, 0x2c
cmp dword [ebp + 8], 0
mov eax, 4
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6020
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x100894e9
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089514
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x1008951a
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x1008951a
push str.GetStringTypeA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.GetStringTypeExA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100fafe0]
add esp, 0x2c
cmp dword [ebp + 8], 0
mov eax, 4
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6020
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x100895ca
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x100895f5
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x100895f5
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x100895f5
push str.GetStringTypeExA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.FoldStringA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
add esp, 0x2c
mov dword [ebp - 0x884], 0x6020
cmp dword [ebp + 8], 0
mov eax, 3
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x100896ab
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x100896d6
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x100896dc
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x100896dc
push str.FoldStringA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100faf30
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
add esp, 0x2c
mov dword [ebp - 0x884], 0x6024
cmp dword [ebp + 8], 0
mov eax, 3
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x1008978c
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x100897b7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x100897b7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x100897b7
push 0x100faf30
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100faf40
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movaps xmm0, xmmword [0x100fafe0]
add esp, 0x2c
cmp dword [ebp + 8], 0
mov eax, 4
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x884], 0x6024
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x1008986d
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089898
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x1008989e
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x1008989e
push 0x100faf40
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.kernel32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.FoldStringW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
add esp, 0x2c
mov dword [ebp - 0x884], 0x6024
cmp dword [ebp + 8], 0
mov eax, 3
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x880], 0
mov word [ebp - 0x878], ax
je 0x1008994e
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089979
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089979
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089979
push str.FoldStringW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100fa908
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
xor eax, eax
mov dword [ebp - 0x884], 0x6100
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089a2b
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089a56
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10089a5c
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089a5c
push 0x100fa908
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.CharNextW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
xor eax, eax
mov dword [ebp - 0x884], 0x6104
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089b08
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089b33
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089b33
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089b33
push str.CharNextW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push 0x100fa914
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
xor eax, eax
mov dword [ebp - 0x884], 0x6100
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089be5
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089c10
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10089c16
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089c16
push 0x100fa914
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.CharPrevW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
xor eax, eax
mov dword [ebp - 0x884], 0x6104
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089cc2
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089ced
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089ced
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089ced
push str.CharPrevW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.CharNextExA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6100
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089d9f
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089dca
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10089dd0
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089dd0
push str.CharNextExA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.CharPrevExA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6104
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089e7c
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089ea7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x10089ea7
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089ea7
push str.CharPrevExA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.wvsprintfA
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6020
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x10089f59
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x10089f84
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x10089f8a
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x10089f8a
push str.wvsprintfA
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa00
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.100bcd20
push 0x77
push str.user32.dll
lea eax, [ebp - 0x9ec]
push 0x78
push eax
call fcn.100c7952
push 0x77
push str.wvsprintfW
lea eax, [ebp - 0x8fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafd0]
xor eax, eax
mov dword [ebp - 0x884], 0x6024
add esp, 0x2c
mov dword [ebp - 0x880], 0
movups xmmword [ebp - 0x9fc], xmm0
mov word [ebp - 0x878], ax
cmp dword [ebp + 8], eax
je 0x1008a036
lea eax, [ebp - 0x9ec]
push eax
call esi
test eax, eax
je 0x1008a061
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
test eax, eax
je 0x1008a061
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x9ec]
push eax
call esi
push eax
call edi
cmp eax, dword [ebp + 8]
jne 0x1008a061
push str.wvsprintfW
sub esp, 0xa00
lea esi, [ebp - 0xa04]
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xa04
push str.OLEAUT32.dll
call esi
mov esi, eax
mov dword [ebp - 0x1408], esi
test esi, esi
je 0x1008a1f1
push 0xa00
lea eax, [ebp - 0x1404]
push 0
push eax
call fcn.100bcd20
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1008a0ca
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call fcn.100bd038
push 0x77
add eax, 2
push eax
lea eax, [ebp - 0x13ec]
push 0x78
push eax
call fcn.100c7952
add esp, 0x18
push 0x77
push str.SysAllocString
lea eax, [ebp - 0x12fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
add esp, 0x10
mov dword [ebp - 0x1284], 0x6024
xor eax, eax
mov dword [ebp - 0x1280], 0
movups xmmword [ebp - 0x13fc], xmm0
mov word [ebp - 0x1278], ax
lea esi, [ebp - 0x1404]
push str.SysAllocString
sub esp, 0xa00
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
push 0xa00
lea eax, [ebp - 0x1404]
push 0
push eax
call fcn.100bcd20
add esp, 0xa10
lea eax, [ebp - 0x20c]
push 0x104
push eax
push dword [ebp - 0x1408]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1008a186
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call fcn.100bd038
push 0x77
add eax, 2
push eax
lea eax, [ebp - 0x13ec]
push 0x78
push eax
call fcn.100c7952
add esp, 0x18
push 0x77
push str.SysAllocStringLen
lea eax, [ebp - 0x12fc]
push 0x78
push eax
call fcn.100c7ce6
movups xmm0, xmmword [0x100fafc0]
add esp, 0x10
mov dword [ebp - 0x1284], 0xe024
mov eax, 2
mov dword [ebp - 0x1280], 0
movups xmmword [ebp - 0x13fc], xmm0
mov word [ebp - 0x1278], ax
lea esi, [ebp - 0x1404]
push str.SysAllocStringLen
sub esp, 0xa00
mov ecx, 0x280
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10005170
add esp, 0xa04
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100bb862
mov esp, ebp
pop ebp
ret