Function at 0x10035f0
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2218
call fcn.01004200
mov eax, dword [0x1005004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor edi, edi
push edi
push edi
push 1
push edi
mov dword [ebp - 0x220c], ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push edi
push edi
push 0xffffffffffffffff
push ebx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
cmp esi, edi
jbe 0x100368f
lea eax, [esi + esi + 2]
push eax
call dword [sym.imp.msvcrt.dll_malloc]
mov ebx, eax
add esp, 4
cmp ebx, edi
jne 0x100365f
push 0x1001a2c
push 1
call fcn.01002230
add esp, 8
push 0xfffffffffffffff6
call fcn.010029c0
mov ecx, dword [ebp - 0x220c]
inc esi
push esi
push ebx
push 0xffffffffffffffff
push ecx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x100367f
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
push ebx
call dword [sym.imp.msvcrt.dll_free]
mov ebx, dword [ebp - 0x220c]
add esp, 4
xor edx, edx
push 0x1005380
mov byte [ebp - 0x804], 0
mov word [ebp - 0x1004], dx
call fcn.01001b20
push 0x400
lea eax, [ebp - 0x804]
push eax
push 0x1005380
call fcn.01001df0
push 0x1001a14
push 2
call fcn.01002230
add esp, 8
push 0x1001a04
mov dword [0x100536c], edi
mov dword [0x1005374], edi
mov dword [0x10053a8], edi
mov dword [0x100537c], edi
mov dword [0x10053a4], edi
mov dword [0x1005378], edi
mov dword [0x1005370], edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100536c], eax
cmp eax, edi
jne 0x100374d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
lea ecx, [ebp - 0x104]
push ecx
push edi
mov esi, eax
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea edx, [ebp - 0x104]
push edx
push esi
push 0x10019dc
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x10019cc
push eax
call esi
mov dword [0x1005374], eax
cmp eax, edi
jne 0x10037a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x1001988
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x100536c]
push 0x1001974
push edx
call esi
mov dword [0x10053a8], eax
cmp eax, edi
jne 0x10037fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x1001930
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x100536c]
push 0x100191c
push edx
call esi
mov dword [0x100537c], eax
cmp eax, edi
jne 0x1003855
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x10018d8
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x100536c]
push 0x10018c8
push edx
call esi
mov dword [0x10053a4], eax
cmp eax, edi
jne 0x10038ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x1001888
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x100536c]
push 0x1001870
push edx
call esi
mov dword [0x1005378], eax
cmp eax, edi
jne 0x1003905
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x1001828
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x100536c]
push 0x1001814
push edx
call esi
mov dword [0x1005370], eax
cmp eax, edi
jne 0x100395d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push edi
push esi
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea ecx, [ebp - 0x104]
push ecx
push esi
push 0x1001828
push 1
call fcn.01002230
add esp, 0x10
push 0xfffffffffffffff6
call fcn.010029c0
mov edx, dword [0x1005390]
push edx
call dword [0x10053a4]
mov eax, dword [0x100539c]
push eax
call dword [0x1005378]
mov ecx, dword [0x1005398]
push ecx
call dword [0x1005370]
mov eax, ebx
mov dword [ebp - 0x2210], edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003990
sub eax, edx
lea esi, [eax + 2]
push esi
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
push esi
mov dword [ebp - 0x2218], edi
call dword [sym.imp.msvcrt.dll_malloc]
add esp, 8
mov ebx, eax
mov dword [ebp - 0x2214], ebx
test edi, edi
je 0x1003649
test ebx, ebx
je 0x1003649
mov edx, dword [ebp - 0x220c]
push edx
push 0x100180c
push esi
push ebx
call fcn.01001d80
add esp, 0x10
cmp byte [ebx], 0
mov eax, ebx
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x2208], edi
je 0x1003a8c
lea ebx, [ebx]
mov dl, byte [eax]
xor ecx, ecx
cmp dl, 0x22
sete cl
xor dword [ebp - 0x2210], ecx
jne 0x1003a4a
cmp dl, 0x20
je 0x1003a1c
cmp dl, 9
jne 0x1003a4a
mov cl, byte [eax + 1]
lea esi, [eax + 1]
cmp cl, 0x2f
je 0x1003a31
cmp cl, 0x2d
je 0x1003a31
cmp cl, 0x40
jne 0x1003a4a
push 0x400
lea edx, [ebp - 0x804]
push edx
push 0x1005380
push esi
call fcn.01002c50
jmp 0x1003a5a
mov ecx, dword [ebp - 0x2208]
mov byte [ecx], dl
inc ecx
mov dword [ebp - 0x2208], ecx
inc eax
cmp byte [eax], 0
jne 0x1003a00
cmp dword [ebp - 0x2210], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
je 0x1003a92
push 0x400
lea eax, [ebp - 0x1004]
push eax
push 0x6c
push 0
mov byte [ebp - 0x804], 0
call edi
push eax
call ebx
jmp 0x1003a92
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 0x2214]
push ecx
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [ebp - 0x2218]
mov edx, dword [ebp - 0x2208]
add esp, 4
push eax
mov byte [edx], 0
call fcn.01002620
mov esi, eax
cmp byte [esi], 0
je 0x1003af7
push 0x400
lea ecx, [ebp - 0x804]
push ecx
lea edx, [ebp - 0x2208]
push edx
push esi
call fcn.01001e80
cmp eax, 1
jne 0x1003af7
mov ecx, dword [0x10053a0]
mov eax, dword [ebp - 0x2208]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 0x2208]
mov dword [0x10053a0], edx
push esi
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [ebp - 0x220c]
push eax
push 0x10017e4
push 2
call fcn.01002230
add esp, 0x10
push 0x1005380
call fcn.01002270
cmp byte [ebp - 0x804], 0
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
je 0x1003b48
push 0x400
lea ecx, [ebp - 0x1004]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x804]
push edx
push 0
push 0
call esi
cmp word [ebp - 0x1004], 0
je 0x1003bb2
cmp dword [0x1005390], 0
jne 0x1003b95
push 0x100
lea ecx, [ebp - 0x404]
push ecx
xor eax, eax
push 0x67
push eax
mov word [ebp - 0x404], ax
call edi
push eax
call ebx
push 0x10
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x1004]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.01002a00
lea ecx, [ebp - 0x1004]
push ecx
push 0x10017bc
push 1
call fcn.01002230
add esp, 0xc
push 0xfffffffffffffff6
call fcn.010029c0
push 0x400
lea edx, [ebp - 0x804]
push edx
push 0x1005380
call fcn.01002370
test eax, eax
jne 0x1003c46
cmp dword [0x1005390], eax
jne 0x1003c29
push 0x400
lea eax, [ebp - 0x1004]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x804]
push ecx
push 0
push 0
call esi
push 0x100
lea eax, [ebp - 0x404]
push eax
xor edx, edx
push 0x68
push edx
mov word [ebp - 0x404], dx
call edi
push eax
call ebx
push 0x10
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x1004]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.01002a00
lea eax, [ebp - 0x804]
push eax
push 0x100179c
push 1
call fcn.01002230
add esp, 0xc
push 0xfffffffffffffff6
call fcn.010029c0
cmp dword [0x10053a0], 0
jne 0x1003cc5
cmp dword [0x1005390], 0
jne 0x1003caf
push 0x100
lea edx, [ebp - 0x404]
push edx
xor ecx, ecx
push 0x68
push ecx
mov word [ebp - 0x404], cx
call edi
push eax
call ebx
push 0x100
lea ecx, [ebp - 0x204]
push ecx
xor eax, eax
push 0x69
push eax
mov word [ebp - 0x204], ax
call edi
push eax
call ebx
push 0x10
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x204]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.01002a00
push 0x1001784
push 1
call fcn.01002230
add esp, 8
push 0
call fcn.010029c0
cmp dword [0x1005380], 0
je 0x1003d66
push 0x400
lea ecx, [ebp - 0x804]
push ecx
push 0x1005380
call fcn.01003230
test eax, eax
jne 0x1003cbe
cmp dword [0x1005390], eax
jne 0x1003d49
push 0x400
lea edx, [ebp - 0x1004]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x804]
push eax
push 0
push 0
call esi
push 0x100
lea edx, [ebp - 0x404]
push edx
xor ecx, ecx
push 0x68
push ecx
mov word [ebp - 0x404], cx
call edi
push eax
call ebx
push 0x10
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x1004]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.01002a00
lea edx, [ebp - 0x804]
push edx
push 0x1001764
push 1
call fcn.01002230
add esp, 0xc
push 0xfffffffffffffff6
call fcn.010029c0
push 0x1001750
push 1
call fcn.01002230
mov esi, dword [0x10053a0]
add esp, 8
test esi, esi
je 0x1003cbe
push 0x400
lea ecx, [ebp - 0x804]
xor eax, eax
push ecx
push eax
push esi
mov byte [ebp - 0x804], 0
mov word [ebp - 0x1004], ax
call dword [0x1005374]
mov edi, eax
test edi, edi
jge 0x1003ea5
mov eax, dword [esi + 4]
push edi
lea edx, [ebp - 0x804]
push edx
push eax
push 0x100171c
push 1
call fcn.01002230
add esp, 0x14
cmp dword [0x1005390], 0
jne 0x1003e98
push 0x100
lea edx, [ebp - 0x204]
push edx
xor ecx, ecx
push 0x6b
push ecx
mov word [ebp - 0x204], cx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call ebx
push 0x400
lea eax, [ebp - 0x1004]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x804]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [esi + 4]
push 0x100
lea edx, [ebp - 0x1204]
push edx
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push edi
lea ecx, [ebp - 0x1004]
push ecx
lea edx, [ebp - 0x1204]
push edx
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x2204]
push 0x800
push ecx
call fcn.01002a90
add esp, 0x18
push 0x100
lea eax, [ebp - 0x404]
push eax
xor edx, edx
push 0x6a
push edx
mov word [ebp - 0x404], dx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call ebx
push 0x10
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x2204]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [0x1005394], 0
je 0x1003658
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x1003d83
jmp 0x1003cbe