Function at 0x10017840
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov ecx, dword [ebp + 0x14]
sub esp, 0x268
push esi
push edi
mov eax, dword [ebp + 0xc]
mov edi, ecx
mov esi, dword [ebp + 0x10]
and edi, 4
mov dword [esp + 0x2c], eax
mov eax, ecx
and eax, 0x10
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
mov eax, ecx
and eax, 8
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
mov eax, ecx
and eax, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x3c], eax
mov eax, ecx
push 0x40
and eax, 2
push 0
push esi
mov dword [esp + 0x28], eax
call fcn.100dd0a0
mov dword [esi + 8], 0xffffffff
add esp, 0xc
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x100178d7
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x10]
call fcn.10017070
test eax, eax
jne 0x10017f4d
mov eax, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x2c], eax
jmp 0x100178da
mov eax, dword [ebp + 0xc]
mov ecx, eax
call fcn.10014660
mov dword [esp + 0xc], eax
test eax, eax
je 0x10017ee0
xorps xmm0, xmm0
xor esi, esi
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], esi
lea ecx, [esp + 0x40]
push ecx
push 0
push eax
call dword [0x10121ff4]
test eax, eax
jne 0x1001795c
call dword [0x10122024]
cmp esi, dword [0x10122698]
jge 0x1001796d
cmp eax, 5
je 0x10017945
cmp eax, 0x20
je 0x10017945
cmp eax, 0x21
je 0x10017945
cmp eax, 0x37
je 0x10017945
cmp eax, 0x40
je 0x10017945
cmp eax, 0x79
je 0x10017945
cmp eax, 0x4cf
jne 0x1001796d
inc esi
mov eax, esi
imul eax, dword [0x10120dec]
push eax
call dword [0x10122180]
mov eax, dword [esp + 0xc]
jmp 0x10017900
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
je 0x1001796d
test al, 0x10
jne 0x10017be7
cmp dword [esp + 0x1c], 0
mov eax, 0xc0000000
mov ecx, 0x80000000
cmove eax, ecx
cmp dword [esp + 0x28], 0
mov dword [esp + 0x30], eax
je 0x10017995
mov esi, 1
mov dword [esp + 0x14], esi
jmp 0x100179a5
xor eax, eax
test edi, edi
setne al
add eax, 3
mov dword [esp + 0x14], eax
mov esi, eax
push str.exclusive
push dword [ebp + 0xc]
call fcn.100bcef0
add esp, 8
test eax, eax
je 0x100179d3
push 0
mov edx, 1
mov ecx, eax
call fcn.10079180
xor ecx, ecx
add esp, 4
test al, al
setne cl
jmp 0x100179d5
xor ecx, ecx
xor edx, edx
mov eax, 3
test ecx, ecx
mov ecx, 0x4000102
cmovne eax, edx
cmp dword [esp + 0x20], edx
mov edx, 0x80
mov dword [esp + 0x34], eax
cmove ecx, edx
mov dword [esp + 0x38], ecx
nop word [eax + eax]
push 0
push ecx
push esi
push 0
push eax
push dword [esp + 0x44]
push dword [esp + 0x24]
call dword [0x10121f28]
mov edi, eax
cmp edi, 0xffffffff
jne 0x10017ac9
cmp dword [esp + 0x1c], 0
je 0x10017a6c
mov ecx, dword [0x10125898]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x10017a3b
call ecx
lea eax, [esp + 0x20]
push eax
push 2
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10018170
mov ecx, dword [0x1012589c]
add esp, 0x10
mov esi, eax
test ecx, ecx
je 0x10017a5e
call ecx
test esi, esi
jne 0x10017a68
cmp dword [esp + 0x20], esi
jne 0x10017ac9
mov esi, dword [esp + 0x14]
call dword [0x10122024]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [0x10122698]
jge 0x10017ac3
cmp eax, 5
je 0x10017aa3
cmp eax, 0x20
je 0x10017aa3
cmp eax, 0x21
je 0x10017aa3
cmp eax, 0x37
je 0x10017aa3
cmp eax, 0x40
je 0x10017aa3
cmp eax, 0x79
je 0x10017aa3
cmp eax, 0x4cf
jne 0x10017ac3
inc ecx
mov dword [esp + 0x18], ecx
imul ecx, dword [0x10120dec]
push ecx
call dword [0x10122180]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
jmp 0x10017a00
mov dword [esp + 0x24], eax
jmp 0x10017acd
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x10017af8
lea eax, [ecx + 1]
imul eax, dword [0x10120dec]
push 0xbc0e
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push str.delayed__dms_for_lock_sharing_conflict_at_line__d
push 0x1b
call fcn.10011fc0
add esp, 0x10
cmp edi, 0xffffffff
jne 0x10017d5a
cmp dword [0x10120a60], 0
je 0x10017b53
mov eax, dword [0x101259b0]
test eax, eax
je 0x10017b1d
push eax
call dword [0x10120ab0]
add esp, 4
mov esi, dword [esp + 0xc]
push esi
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push esi
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017b65
push eax
call dword [0x10120ab8]
jmp 0x10017b5d
push dword [esp + 0xc]
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10017bc0
cmp dword [0x10120a60], 0
je 0x10017bb6
test eax, eax
je 0x10017b84
push eax
call dword [0x10120ab0]
add esp, 4
push esi
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push esi
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017bc0
push eax
call dword [0x10120ab8]
jmp 0x10017bbd
push esi
call dword [0x10120a84]
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x10017cbd
cmp dword [esp + 0x28], 0
jne 0x10017cbd
mov ecx, dword [ebp + 0x14]
and ecx, 0xfffffff9
or ecx, 1
mov dword [ebp + 0x14], ecx
jmp 0x10017851
cmp dword [0x10120a60], 0
je 0x10017c39
mov eax, dword [0x101259b0]
test eax, eax
je 0x10017c03
push eax
call dword [0x10120ab0]
add esp, 4
mov esi, dword [esp + 0xc]
push esi
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push esi
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017c4b
push eax
call dword [0x10120ab8]
jmp 0x10017c43
push dword [esp + 0xc]
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10017cb2
cmp dword [0x10120a60], 0
je 0x10017ca8
test eax, eax
je 0x10017c6a
push eax
call dword [0x10120ab0]
add esp, 4
push esi
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push esi
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017cb2
push eax
call dword [0x10120ab8]
add esp, 4
mov eax, 0x20e
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push esi
call dword [0x10120a84]
add esp, 4
mov eax, 0x20e
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, 0x1f4
mov esi, dword [esp + 0x24]
mov ecx, esi
mov byte [esp + 0x78], 0
mov dword [eax + 0x14], esi
lea eax, [esp + 0x78]
push eax
call fcn.10014830
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
mov edx, 0x10112d0f
cmovne edx, eax
xor eax, eax
cmp byte [esp + 0x78], al
je 0x10017d0c
mov cl, byte [esp + eax + 0x78]
cmp cl, 0xd
je 0x10017d0c
cmp cl, 0xa
je 0x10017d0c
inc eax
cmp byte [esp + eax + 0x78], 0
jne 0x10017cf6
mov byte [esp + eax + 0x78], 0
lea eax, [esp + 0x78]
push eax
push edx
push str.winOpen
push esi
push 0xbc1d
push str.os_win.c:_d:___lu___s__s_____s
push 0xe
call fcn.10011fc0
add esp, 0x1c
push 0x1011a43c
push 0xbc1e
push str.cannot_open_file
push str._s_at_line__d_of___.10s_
push 0xe
call fcn.10011fc0
add esp, 0x14
mov eax, 0xe
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x10017d6d
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
inc eax
mov dword [ecx], eax
cmp dword [0x10120a60], 0
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14]
je 0x10017dc7
mov eax, dword [0x101259b0]
test eax, eax
je 0x10017d8f
push eax
call dword [0x10120ab0]
add esp, 4
push dword [esp + 0xc]
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push dword [esp + 0xc]
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017dd9
push eax
call dword [0x10120ab8]
jmp 0x10017dd1
push dword [esp + 0xc]
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10017e3b
cmp dword [0x10120a60], 0
je 0x10017e31
test eax, eax
je 0x10017dfc
push eax
call dword [0x10120ab0]
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push dword [esp + 0x10]
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017e3b
push eax
call dword [0x10120ab8]
jmp 0x10017e38
push ecx
call dword [0x10120a84]
add esp, 4
test esi, esi
je 0x10017e43
mov eax, dword [esi]
jmp 0x10017e48
mov eax, 0x1010e758
cmp dword [esp + 0x3c], 0
mov esi, dword [ebp + 0x10]
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov dword [esi + 4], eax
mov dword [esi + 8], edi
je 0x10017e61
or byte [esi + 0x10], 2
test dword [ebp + 0x14], 0x100
je 0x10017e9e
push str.psow
push dword [ebp + 0xc]
call fcn.100bcef0
add esp, 8
test eax, eax
je 0x10017e9a
push 1
mov edx, 1
mov ecx, eax
call fcn.10079180
xor ecx, ecx
add esp, 4
test al, al
setne cl
test ecx, ecx
je 0x10017e9e
or byte [esi + 0x10], 0x10
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov eax, dword [0x10120b08]
mov ecx, dword [0x10120b0c]
mov dword [esi + 0x38], eax
xor eax, eax
mov dword [esi + 0x3c], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x10017f48
cmp dword [0x10120a60], 0
je 0x10017f3e
mov eax, dword [0x101259b0]
test eax, eax
je 0x10017f00
push eax
call dword [0x10120ab0]
add esp, 4
push esi
call dword [0x10120a8c]
sub dword [0x101257c8], eax
add esp, 4
dec dword [0x101257ec]
push esi
call dword [0x10120a84]
mov eax, dword [0x101259b0]
add esp, 4
test eax, eax
je 0x10017f48
push eax
call dword [0x10120ab8]
add esp, 4
mov eax, 0xc0a
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push esi
call dword [0x10120a84]
add esp, 4
mov eax, 0xc0a
pop edi
pop esi
mov esp, ebp
pop ebp
ret