Function at 0x100d959c
Capabilities:
Clear file content

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
xor edi, edi
xor edx, edx
push edi
push edi
inc edx
mov ebx, ecx
call fcn.10036464
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x1c], eax
and ecx, edx
mov dword [esp + 0x18], edx
cmp ecx, 0xffffffff
jne 0x100d966f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d974a
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100d9744
cmp edi, 0xffffffff
jne 0x100d9648
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov eax, dword [eax]
jmp 0x100d993f
xor edx, edx
call fcn.10032a89
push 0
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d95fa
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100d9639
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x100d9616
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100d95fa
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100d9601
lea eax, [edi + 0x10]
jmp 0x100d9606
push edi
push edi
push 2
pop edx
mov ecx, ebx
call fcn.10036464
pop ecx
pop ecx
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x100d95cf
mov esi, dword [ebp + 8]
sub esi, eax
mov eax, dword [ebp + 0xc]
sbb eax, edx
mov dword [esp + 0x10], eax
js 0x100d9bf4
jg 0x100d96a8
cmp esi, edi
jbe 0x100d9bf4
push 1
push 0x1000
call sym.ucrtbase.dll__calloc_base
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x100d98bb
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0x10], 0x1010eac0
cmp ecx, 0xffffffff
je 0x100d9783
call fcn.10029fa0
mov ebx, eax
test ebx, ebx
je 0x100d977d
cmp ebx, 0xffffffff
jne 0x100d97ea
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0xc
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9822
call fcn.10029fa0
mov ebx, eax
test ebx, ebx
je 0x100d981c
cmp ebx, 0xffffffff
jne 0x100d9889
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x100d9a06
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d95fa
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
je 0x100d960d
jmp 0x100d961e
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d96f7
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test ebx, ebx
jne 0x100d97c0
xor edx, edx
call fcn.10032a89
push ebx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d96f7
mov edx, ebx
call fcn.10032a89
test eax, eax
jne 0x100d97db
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push ebx
jmp 0x100d97b5
mov ecx, ebx
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test ebx, ebx
je 0x100d96f7
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test ebx, ebx
je 0x100d96fe
lea eax, [ebx + 0x10]
jmp 0x100d9703
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d9738
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test ebx, ebx
jne 0x100d985f
xor edx, edx
call fcn.10032a89
push ebx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d9738
mov edx, ebx
call fcn.10032a89
test eax, eax
jne 0x100d987a
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push ebx
jmp 0x100d9854
mov ecx, ebx
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test ebx, ebx
je 0x100d9738
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test ebx, ebx
je 0x100d9a06
lea eax, [ebx + 0x10]
jmp 0x100d9a02
mov edx, 0x8000
mov ecx, ebx
call fcn.100dd1d6
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x100d98e4
jg 0x100d98dd
cmp esi, 0x1000
jb 0x100d98e4
mov eax, 0x1000
jmp 0x100d98e6
mov eax, esi
push eax
mov edx, edi
mov ecx, ebx
call fcn.10033dc6
pop ecx
cmp eax, 0xffffffff
je 0x100d9946
cdq
sub esi, eax
mov eax, dword [esp + 0x10]
sbb eax, edx
mov dword [esp + 0x10], eax
test eax, eax
jg 0x100d98dd
jl 0x100d990d
test esi, esi
jne 0x100d98cf
mov edx, dword [esp + 0x14]
mov ecx, ebx
call fcn.100dd1d6
push edi
call sym.ucrtbase.dll__free_base
pop ecx
push dword [esp + 0x18]
xor edx, edx
mov ecx, ebx
push dword [esp + 0x20]
call fcn.10036464
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x100d95cf
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9a20
call fcn.10029fa0
mov ebx, eax
test ebx, ebx
je 0x100d9a1a
cmp ebx, 0xffffffff
jne 0x100d9a87
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
cmp dword [eax], 5
jne 0x100d99c7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9abf
call fcn.10029fa0
mov ebx, eax
test ebx, ebx
je 0x100d9ab9
cmp ebx, 0xffffffff
jne 0x100d9b26
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0xd
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9b5e
call fcn.10029fa0
mov ebx, eax
test ebx, ebx
je 0x100d9b58
cmp ebx, 0xffffffff
jne 0x100d9bc5
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push edi
mov esi, dword [eax]
call sym.ucrtbase.dll__free_base
pop ecx
mov eax, esi
jmp 0x100d993f
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d9975
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test ebx, ebx
jne 0x100d9a5d
xor edx, edx
call fcn.10032a89
push ebx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d9975
mov edx, ebx
call fcn.10032a89
test eax, eax
jne 0x100d9a78
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push ebx
jmp 0x100d9a52
mov ecx, ebx
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test ebx, ebx
je 0x100d9975
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test ebx, ebx
je 0x100d997c
lea eax, [ebx + 0x14]
jmp 0x100d9981
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d99b5
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test ebx, ebx
jne 0x100d9afc
xor edx, edx
call fcn.10032a89
push ebx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d99b5
mov edx, ebx
call fcn.10032a89
test eax, eax
jne 0x100d9b17
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push ebx
jmp 0x100d9af1
mov ecx, ebx
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test ebx, ebx
je 0x100d99b5
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test ebx, ebx
je 0x100d99bc
lea eax, [ebx + 0x10]
jmp 0x100d99c1
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d99f6
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov ebx, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test ebx, ebx
jne 0x100d9b9b
xor edx, edx
call fcn.10032a89
push ebx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d99f6
mov edx, ebx
call fcn.10032a89
test eax, eax
jne 0x100d9bb6
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push ebx
jmp 0x100d9b90
mov ecx, ebx
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test ebx, ebx
je 0x100d99f6
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test ebx, ebx
je 0x100d99fd
jmp 0x100d98b3
cmp eax, edi
jg 0x100d991f
jl 0x100d9c06
cmp esi, edi
jae 0x100d991f
push dword [ebp + 0xc]
xor edx, edx
mov ecx, ebx
push dword [ebp + 8]
call fcn.10036464
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x100d95cf
push ebx
call sym.ucrtbase.dll__get_osfhandle
pop ecx
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetEndOfFile]
test eax, eax
jne 0x100d991f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov ebx, 0x1010eac0
cmp ecx, 0xffffffff
je 0x100d9d01
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100d9cfb
cmp edi, 0xffffffff
jne 0x100d9d68
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, ebx
mov dword [eax], 0xd
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9da0
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100d9d9a
cmp edi, 0xffffffff
jne 0x100d9e07
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov esi, 0x1010eac4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [esi], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100d9e3f
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100d9e39
cmp edi, 0xffffffff
jne 0x100d9ea6
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [ebx]
jmp 0x100d993f
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d9c6c
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x100d9d3e
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d9c6c
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100d9d59
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x100d9d33
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100d9c6c
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100d9c73
lea eax, [edi + 0x10]
jmp 0x100d9c75
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d9caa
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x100d9ddd
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d9caa
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100d9df8
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x100d9dd2
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100d9caa
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100d9cb1
lea esi, [edi + 0x14]
jmp 0x100d9cb6
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100d9ced
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x100d9e7c
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x100d9ced
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100d9e97
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x100d9e71
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100d9ced
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100d9cf4
lea ebx, [edi + 0x10]
jmp 0x100d9cf4