Function at 0x10014dd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x12f8
call fcn.10031da0
push ebx
push esi
push edi
push 0x10075038
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x10075053], 0
jne 0x10016192
cmp byte [0x10075052], 0
jne 0x10014e06
call fcn.10014aa0
mov ecx, 0x100728bc
call fcn.10019c30
test al, al
je 0x10014e1e
cmp word [0x100728d2], 0
jne 0x10014e4c
cmp dword [0x100728b4], 0
jbe 0x10014e4c
cmp dword [0x100728b8], 0x10
mov eax, 0x100728a4
push 0x100728d2
cmovae eax, dword [0x100728a4]
mov ecx, 0x100728bc
push 0
push eax
call fcn.10019890
push 0
call fcn.100427f1
mov ecx, dword [0x100728a0]
add esp, 4
add ecx, dword [0x1007515c]
mov dword [ebp - 0xc8], eax
cmp eax, ecx
jl 0x10016192
mov dword [0x1007515c], eax
lea eax, [ebp - 0xaf8]
push 0x30a
push eax
call fcn.10025380
lea ecx, [ebp - 0xaf8]
mov dword [ebp - 0xc4], 0
add esp, 8
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10014eb0
sub ecx, edx
lea eax, [ebp - 0xaf8]
push ecx
push eax
lea ecx, [ebp - 0xc4]
call fcn.10016360
cmp dword [ebp - 0xb0], 0x10
lea edx, [ebp - 0xc4]
mov edi, dword [ebp - 0xb4]
cmovae edx, dword [ebp - 0xc4]
or ebx, 0xffffffff
test edi, edi
je 0x10014f0e
lea eax, [edi - 1]
mov ecx, ebx
cmp eax, ebx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x10014f0a
mov edi, edi
cmp ecx, edx
je 0x10014f0e
dec ecx
cmp byte [ecx], 0x5c
jne 0x10014f00
sub ecx, edx
jmp 0x10014f11
or ecx, 0xffffffff
inc ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
cmp edi, ecx
jb 0x100161a4
sub edi, ecx
lea eax, [ebp - 0xc4]
cmp edi, 0xffffffff
mov esi, ebx
cmovb esi, edi
cmp dword [ebp - 0xb0], 0x10
cmovae eax, dword [ebp - 0xc4]
add eax, ecx
mov ecx, 0x16
mov dword [ebp - 8], eax
cmp esi, 0xf
ja 0x10014f74
push esi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], esi
push eax
call fcn.100337b0
mov byte [ebp + esi - 0x28], 0
mov ebx, dword [ebp - 0x28]
jmp 0x10014fbe
cmp esi, 0x7fffffff
ja 0x100161a9
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x10014f94
mov edi, closesocket
jmp 0x10014f99
cmp edi, ecx
cmovb edi, ecx
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.10009b30
push esi
push dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 0x18], esi
push ebx
mov dword [ebp - 0x14], edi
call fcn.100337b0
mov byte [ebx + esi], 0
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x18]
lea esi, [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
lea edi, [ebp - 0x28]
cmovae esi, ebx
cmovae edx, ebx
add esi, ecx
cmp dword [ebp - 0x14], 0x10
cmovae edi, ebx
cmp edi, esi
je 0x1001500d
sub edx, edi
mov dword [ebp - 8], edx
mov ebx, edx
mov edi, edi
movsx eax, byte [edi]
push eax
call fcn.10042925
mov byte [edi + ebx], al
add esp, 4
inc edi
cmp edi, esi
jne 0x10014ff0
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0x14]
lea edx, [ebp - 0x28]
cmp esi, 0x10
cmovae edx, ebx
test ecx, ecx
je 0x1001503e
or edi, 0xffffffff
lea eax, [ecx - 1]
cmp eax, edi
cmovb edi, eax
add edi, edx
cmp byte [edi], 0x2e
je 0x1001503a
nop
cmp edi, edx
je 0x1001503e
dec edi
cmp byte [edi], 0x2e
jne 0x10015030
sub edi, edx
jmp 0x10015041
or edi, 0xffffffff
cmp esi, 0x10
mov dword [ebp - 0x44], 0
lea edx, [ebp - 0x28]
mov dword [ebp - 0x34], 0
cmovae edx, ebx
mov dword [ebp - 0x30], 0
mov dword [ebp - 8], edx
mov eax, closesocket
cmp ecx, 0x10
jae 0x1001508f
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0xf
jmp 0x100150ca
mov esi, ecx
lea ecx, [ebp - 0x44]
or esi, 0xf
cmp esi, eax
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.10009b30
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x44], eax
lea ecx, [ebx + 1]
push ecx
push dword [ebp - 8]
push eax
call fcn.100337b0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x14]
cmp edi, 0xffffffff
je 0x10015158
cmp ecx, edi
mov dword [ebp - 0x5c], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x4c], 0
cmovb edi, ecx
mov dword [ebp - 0x48], 0xf
cmp esi, 0x10
lea ecx, [ebp - 0x5c]
push edi
cmovae eax, ebx
push eax
call fcn.10016360
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x10015134
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001512a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b8
push edx
push ecx
call fcn.10031830
add esp, 8
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
cmp byte [0x10075050], 0
je 0x100151a9
push ecx
mov eax, esp
mov dword [eax], 0x10075058
call fcn.100114b0
add esp, 4
test al, al
je 0x100151a9
push 0x104
lea eax, [ebp - 0x2d8]
push 0x10075058
push eax
call fcn.1002e6e0
push 0xffffffffffffffff
push 0x104
lea eax, [ebp - 0x2d8]
push 0x100579c8
push eax
call fcn.1002e530
add esp, 0x1c
jmp 0x1001520b
push 0x104
lea eax, [ebp - 0x2d8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100151dc
lea eax, [ebp - 0x2d8]
push 0x5c
push eax
call fcn.10033040
add esp, 8
test eax, eax
je 0x100151dc
mov byte [eax + 1], 0
jmp 0x1001520b
lea eax, [ebp - 0x2d8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x1001520b
push 0x104
lea eax, [ebp - 0x2d8]
push str.c:_temp_
push eax
call fcn.1002e6e0
add esp, 0xc
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push 0xffffffffffffffff
cmovae eax, dword [ebp - 0x44]
push 0x104
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.1002e530
lea edi, [ebp - 0x2d8]
add esp, 0x10
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10015236
lea eax, [ebp - 0xc8]
sub edi, ecx
push eax
call fcn.10042e38
mov ecx, dword [ebp + 0x20]
add esp, 4
mov dword [ebp - 8], eax
test ecx, ecx
mov eax, dword [0x10075054]
cmovne eax, ecx
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x10015299
push eax
mov eax, 0x104
sub eax, edi
push 0x1005caac
push eax
lea eax, [ebp - 0x2d8]
add eax, edi
push eax
call fcn.1002e360
lea edi, [ebp - 0x2d8]
add esp, 0x10
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10015290
sub edi, ecx
cmp dword [ebp + 0x14], 0
je 0x100152af
cmp dword [ebp + 0x18], 0
je 0x100152af
cmp dword [ebp + 0x1c], 0xffffffff
je 0x100152af
mov bl, 1
jmp 0x100152b1
xor bl, bl
mov esi, dword [0x10075268]
mov ecx, esi
mov edx, dword [0x1007526c]
add ecx, 1
push edx
push esi
mov dword [0x10075268], ecx
mov eax, edx
mov ecx, dword [ebp - 8]
adc eax, 0
mov dword [0x1007526c], eax
push dword [ecx]
mov eax, dword [ecx + 0x10]
push dword [ecx + 4]
inc eax
push dword [ecx + 8]
push dword [ecx + 0xc]
push eax
mov eax, dword [ecx + 0x14]
mov ecx, str.crash
add eax, 0x76c
test bl, bl
push eax
mov eax, str.assert
cmove eax, ecx
push eax
mov eax, 0x104
sub eax, edi
push str.__s__d__d__dT_d__d__dC_llu
push eax
lea eax, [ebp - 0x2d8]
add eax, edi
push eax
call fcn.1002e360
push 0xffffffffffffffff
push 0x104
lea eax, [ebp - 0x2d8]
push str..mdmp
push eax
call fcn.1002e530
add esp, 0x40
lea eax, [ebp - 0x2d8]
push 0
push 0x80
push 2
push 0
push 2
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x1001546b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [0x100728e8]
mov ecx, 0x100728d4
mov esi, dword [0x100728d4]
cmp edx, 0x10
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 8]
cmovae ecx, esi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x70], 0xa
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100153a1
mov ebx, dword [0x10075274]
sub ecx, edi
mov edi, dword [0x10075270]
cmp edx, 0x10
mov dword [ebp - 0x64], 1
lea eax, [ecx + 1]
mov dword [ebp - 0x6c], eax
mov eax, 0x100728d4
cmovae eax, esi
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x70]
mov dword [ebp - 0x60], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0xa0]
push ecx
push edi
mov edi, dword [ebp - 8]
push edi
push esi
push eax
call ebx
test eax, eax
je 0x10015428
lea eax, [ebp - 0x2d8]
push eax
push str.Saved_dump_file_to__s
lea eax, [ebp - 0x7ec]
push 0x208
push eax
call fcn.1002e360
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10015492
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x2d8]
push eax
push str.Failed_to_save_dump_file_to__s__error__d_
lea eax, [ebp - 0x7ec]
push 0x208
push eax
call fcn.1002e360
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d8]
mov dword [eax], ecx
call fcn.10011410
add esp, 4
jmp 0x10015492
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x2d8]
push eax
push str.Failed_to_create_minidump_file__s__error__d_
lea eax, [ebp - 0x7ec]
push 0x208
push eax
call fcn.1002e360
add esp, 0x14
cmp byte [0x10075278], 0
je 0x100160b5
mov ecx, 0x100728bc
call fcn.10019c30
test al, al
je 0x100160b5
cmp word [0x100728d2], 0
je 0x100160b5
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
test edi, edi
je 0x1001553f
test ebx, ebx
je 0x1001553f
cmp dword [ebp + 0x14], 0
je 0x1001553f
cmp dword [ebp + 0x18], 0
je 0x1001553f
cmp dword [ebp + 0x1c], 0xffffffff
je 0x1001553f
mov esi, dword [ebp + 8]
push esi
push 0xe
call dword [0x10075280]
push esi
push 0xe
call dword [0x10075284]
mov byte [ebp - 1], 1
jmp 0x1001556f
push dword [ebp + 8]
push 0xe
call dword [0x10075280]
cmp byte [ebp + 0x24], 0
mov esi, eax
mov byte [ebp - 1], 0
je 0x10015571
mov esi, dword [ebp + 8]
push esi
push 0xe
call dword [0x10075284]
push esi
push 0xe
call dword [0x10075284]
mov byte [ebp - 1], 0
mov esi, eax
push 0x104
lea eax, [ebp - 0x3dc]
mov dword [ebp - 0xd0], 0
push 0
push eax
mov dword [ebp - 0x2c], 0
call fcn.10033d30
push 0x104
lea eax, [ebp - 0x5e4]
push 0
push eax
call fcn.10033d30
push 0x104
lea eax, [ebp - 0x4e0]
mov dword [ebp - 8], 0
push 0
push eax
call fcn.10033d30
add esp, 0x24
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xcc], 0
test esi, esi
je 0x10015697
push 0x800
lea eax, [ebp - 0x12f8]
push esi
push eax
call fcn.10042bfe
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x5e4]
push eax
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x12f8]
push str._x:_x___________u_byte_s_________line__u_u_byte_s_
push eax
call fcn.1000fae0
add esp, 0x34
cmp eax, 3
jl 0x10015697
mov esi, dword [ebp - 0x2c]
push str.psapi.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, 0xffffffff
je 0x10015694
push str.GetModuleInformation
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10015694
lea eax, [ebp - 0x3dc]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, 0xffffffff
je 0x10015694
push 0xc
lea ecx, [ebp - 0xa0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0xc]
test eax, eax
je 0x10015694
mov eax, dword [ebp - 0xa0]
cmp esi, eax
jbe 0x10015694
sub esi, eax
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x4e0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100156a0
sub ecx, edx
lea eax, [ebp - 0x4e0]
push ecx
push eax
lea ecx, [ebp - 0x94]
call fcn.10016360
test edi, edi
je 0x1001572a
test ebx, ebx
je 0x10015721
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x10015715
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x10015715
mov eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x10015715
push ecx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x10], eax
call fcn.10014a40
push edi
lea ecx, [ebp - 0x5c]
call fcn.10014a40
push ebx
lea ecx, [ebp - 0x7c]
call fcn.10014a40
push 2
push 0x1005cb94
lea ecx, [ebp - 0x7c]
call fcn.10016200
push esi
lea ecx, [ebp - 0x7c]
call fcn.100161d0
jmp 0x1001572a
push edi
lea ecx, [ebp - 0x5c]
call fcn.10014a40
push ebx
jmp 0x10015722
push edi
lea ecx, [ebp - 0x7c]
call fcn.10014a40
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
cmp edi, 0x10
cmovae eax, ebx
cmp dword [ebp - 0x18], 9
jne 0x10015858
cmp dword [eax], 0x61657473
jne 0x10015858
cmp dword [eax + 4], 0x78652e6d
jne 0x10015858
cmp byte [eax + 8], 0x65
jne 0x10015858
mov ecx, str.Steam_
mov eax, 0x10075160
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10015790
test dl, dl
je 0x1001578c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10015790
add eax, 2
add ecx, 2
test dl, dl
jne 0x10015770
xor eax, eax
jmp 0x10015795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10015858
cmp edi, 9
jb 0x100157cb
cmp edi, 0x10
mov dword [ebp - 0x18], 9
push 9
lea esi, [ebp - 0x28]
cmovae esi, ebx
push 0x10059638
push esi
call fcn.100337b0
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x10015858
mov ecx, edi
mov eax, closesocket
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x100157e1
mov ebx, closesocket
jmp 0x100157ee
lea eax, [ecx + edi]
mov ebx, 0xf
cmp eax, ebx
cmova ebx, eax
lea eax, [ebx + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.10009b30
mov ecx, dword [0x10059638]
mov esi, eax
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x14], ebx
mov dword [esi], ecx
mov ecx, dword [0x1005963c]
mov dword [esi + 4], ecx
mov cl, byte [0x10059640]
mov byte [esi + 8], cl
mov byte [esi + 9], 0
cmp edi, 0x10
jb 0x10015855
mov ecx, dword [ebp - 0x28]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x1001584b
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push edi
push ecx
call fcn.10031830
add esp, 8
mov dword [ebp - 0x28], esi
mov edi, dword [ebp - 0x80]
lea edx, [ebp - 0x94]
mov esi, dword [ebp - 0x84]
cmp edi, 0x10
cmovae edx, dword [ebp - 0x94]
test esi, esi
je 0x100159cf
or ebx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ebx
mov ecx, ebx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x1001589e
lea ecx, [ecx]
cmp ecx, edx
je 0x100159cf
dec ecx
cmp byte [ecx], 0x5c
jne 0x10015890
sub ecx, edx
cmp ecx, 0xffffffff
je 0x100159cf
inc ecx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x98], 0xf
cmp esi, ecx
jb 0x100161ae
sub esi, ecx
lea eax, [ebp - 0x94]
cmp esi, 0xffffffff
cmovb ebx, esi
cmp edi, 0x10
cmovae eax, dword [ebp - 0x94]
add eax, ecx
mov dword [ebp - 0xc], eax
cmp ebx, 0xf
ja 0x10015918
push ebx
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0x9c], ebx
push eax
call fcn.100337b0
mov byte [ebp + ebx - 0xac], 0
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xac]
jmp 0x10015962
cmp ebx, 0x7fffffff
ja 0x100161a9
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10015938
mov esi, closesocket
jmp 0x10015943
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0xac]
call fcn.10009b30
push ebx
push dword [ebp - 0xc]
mov edi, eax
push edi
call fcn.100337b0
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x80]
add esp, 0xc
cmp edx, 0x10
jb 0x1001599c
mov ecx, dword [ebp - 0x94]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10015992
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push edx
push ecx
call fcn.10031830
add esp, 8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], esi
cmp dword [0x100728e8], 0x10
mov eax, 0x100728d4
push 9
cmovae eax, dword [0x100728d4]
push str.Sys_Error
push eax
call fcn.1003d595
add esp, 0xc
test eax, eax
jne 0x10015a28
mov ecx, 0x1e
mov eax, 0x100728d4
cmp dword [0x100728e4], ecx
cmovb ecx, dword [0x100728e4]
cmp dword [0x100728e8], 0x10
push ecx
cmovae eax, dword [0x100728d4]
push eax
call fcn.10010cf0
add esp, 8
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0xf
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0xf
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
test edx, edx
je 0x10015b3e
cmp dword [ebp - 0x68], 0x10
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
cmp byte [eax + ecx], 0x22
jne 0x10015b39
mov byte [eax + ecx], 0x27
mov edx, dword [ebp - 0x6c]
inc ecx
cmp ecx, edx
jb 0x10015b21
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
test edx, edx
je 0x10015b6d
jmp 0x10015b50
cmp dword [ebp - 0x48], 0x10
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
cmp byte [eax + ecx], 0x22
jne 0x10015b68
mov byte [eax + ecx], 0x27
mov edx, dword [ebp - 0x4c]
inc ecx
cmp ecx, edx
jb 0x10015b50
push 0x100728d4
call fcn.10014a70
add esp, 4
cmp byte [ebp - 1], 0
jne 0x10015b90
cmp byte [ebp + 0x24], 0
mov dword [ebp - 0x1bc], 1
je 0x10015b9a
mov dword [ebp - 0x1bc], 0
mov eax, dword [0x100728bc]
cmp dword [ebp - 0x68], 0x10
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0xf8]
mov dword [ebp - 0x1d4], eax
mov eax, dword [0x100728c0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [0x100728c4]
mov dword [ebp - 0x1cc], eax
mov eax, dword [0x100728c8]
mov dword [ebp - 0x1c8], eax
mov eax, dword [0x100728cc]
mov dword [ebp - 0x1c4], eax
mov eax, dword [0x100728d0]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
mov dword [ebp - 0xd8], 0x10014760
mov dword [ebp - 0xc], eax
cmp edi, ebx
ja 0x10015c2b
cmp ebx, 0x10
mov dword [ebp - 0xfc], edi
push edi
lea esi, [ebp - 0x10c]
cmovae esi, dword [ebp - 0x10c]
push eax
push esi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x10015cd4
cmp edi, 0x7fffffff
ja 0x100161a9
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10015c4b
mov esi, closesocket
jmp 0x10015c69
mov ecx, ebx
mov eax, closesocket
shr ecx, 1
sub eax, ecx
cmp ebx, eax
jbe 0x10015c61
mov esi, closesocket
jmp 0x10015c69
lea eax, [ecx + ebx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x10c]
call fcn.10009b30
push edi
push dword [ebp - 0xc]
mov dword [ebp - 0xf8], esi
mov esi, eax
push esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xfc], edi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
cmp ebx, 0x10
jb 0x10015cce
mov ecx, dword [ebp - 0x10c]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x10015cc4
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push ebx
push ecx
call fcn.10031830
add esp, 8
mov dword [ebp - 0x10c], esi
cmp dword [ebp - 0x48], 0x10
lea eax, [ebp - 0x5c]
mov edi, dword [ebp - 0x4c]
cmovae eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x14c]
mov dword [ebp - 0x60], eax
cmp edi, ebx
ja 0x10015d19
cmp ebx, 0x10
mov dword [ebp - 0x150], edi
push edi
lea esi, [ebp - 0x160]
cmovae esi, dword [ebp - 0x160]
push eax
push esi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x10015dc2
cmp edi, 0x7fffffff
ja 0x100161a9
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10015d39
mov esi, closesocket
jmp 0x10015d57
mov ecx, ebx
mov eax, closesocket
shr ecx, 1
sub eax, ecx
cmp ebx, eax
jbe 0x10015d4f
mov esi, closesocket
jmp 0x10015d57
lea eax, [ebx + ecx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x160]
call fcn.10009b30
push edi
push dword [ebp - 0x60]
mov dword [ebp - 0x14c], esi
mov esi, eax
push esi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x150], edi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
cmp ebx, 0x10
jb 0x10015dbc
mov ecx, dword [ebp - 0x160]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x10015db2
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push ebx
push ecx
call fcn.10031830
add esp, 8
mov dword [ebp - 0x160], esi
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1a0]
mov dword [ebp - 0x60], eax
cmp edi, ebx
ja 0x10015e07
cmp ebx, 0x10
mov dword [ebp - 0x1a4], edi
push edi
lea esi, [ebp - 0x1b4]
cmovae esi, dword [ebp - 0x1b4]
push eax
push esi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x10015eaf
cmp edi, 0x7fffffff
ja 0x100161a9
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10015e27
mov esi, closesocket
jmp 0x10015e44
mov eax, ebx
mov ecx, closesocket
shr eax, 1
sub ecx, eax
cmp ebx, ecx
jbe 0x10015e3d
mov esi, closesocket
jmp 0x10015e44
add eax, ebx
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.10009b30
push edi
push dword [ebp - 0x60]
mov dword [ebp - 0x1a0], esi
mov esi, eax
push esi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], edi
call fcn.100337b0
add esp, 0xc
mov byte [edi + esi], 0
cmp ebx, 0x10
jb 0x10015ea9
mov ecx, dword [ebp - 0x1b4]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x10015e9f
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push ebx
push ecx
call fcn.10031830
add esp, 8
mov dword [ebp - 0x1b4], esi
cmp dword [ebp - 0x80], 0x10
lea eax, [ebp - 0x94]
push dword [ebp - 0x84]
cmovae eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x184]
push eax
call fcn.10016360
lea ecx, [ebp - 0x2d8]
lea edx, [ecx + 1]
jmp 0x10015ee0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015ee0
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x148]
call fcn.10016360
lea ecx, [ebp - 0x3dc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015f05
sub ecx, edx
lea eax, [ebp - 0x3dc]
push ecx
push eax
lea ecx, [ebp - 0x19c]
call fcn.10016360
mov eax, dword [ebp - 8]
mov ecx, 0x10075288
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x10]
lea edx, [ecx + 1]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x1b8], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015f60
sub ecx, edx
push ecx
push 0x10075288
lea ecx, [ebp - 0x130]
call fcn.10016360
movzx eax, word [0x10075298]
lea ecx, [ebp - 0xf4]
mov word [ebp - 0x118], ax
movzx eax, word [0x1007529c]
mov word [ebp - 0x116], ax
mov al, byte [0x1007527a]
mov byte [ebp - 0x114], al
mov eax, dword [ebp + 0x28]
push 0x100728d4
mov dword [ebp - 0x110], eax
call fcn.10014a10
lea eax, [ebp - 0x1d4]
push eax
call fcn.1001afa0
add esp, 4
test eax, eax
je 0x10015fe7
push eax
push str.Failed_to_upload_crash_report:_error__d
lea eax, [ebp - 0x7ec]
push 0x208
push eax
call fcn.1002e360
add esp, 0x10
lea ecx, [ebp - 0x1d4]
call fcn.10014790
mov edx, dword [ebp - 0x68]
cmp edx, 0x10
jb 0x10016026
mov ecx, dword [ebp - 0x7c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001601c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push edx
push ecx
call fcn.10031830
add esp, 8
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
cmp edx, 0x10
jb 0x1001606c
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10016062
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push edx
push ecx
call fcn.10031830
add esp, 8
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x100160b5
mov ecx, dword [ebp - 0x94]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100160ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b3
push edx
push ecx
call fcn.10031830
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100160e9
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100160df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b8
push edx
push ecx
call fcn.10031830
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x1001612f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10016125
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b8
push edx
push ecx
call fcn.10031830
add esp, 8
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x10016177
mov ecx, dword [ebp - 0xc4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001616d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100161b8
push edx
push ecx
call fcn.10031830
add esp, 8
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
push 0x10075038
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100161c0
call fcn.100105d0
call fcn.100161c0
call fcn.10039ac0
call fcn.10039ac0
int3