Function at 0x10039a30
Capabilities:
Clear file content

Disassembly:
endbr32
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x1c
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x5c]
test edx, edx
jne 0x10039a4a
mov edx, dword [edi + 0x4c]
mov ebx, dword [edi + 0x50]
test ebx, ebx
je 0x10039a57
neg ebx
add ebx, edx
jmp 0x10039a5c
mov ebx, edx
sub ebx, dword [edi + 0x48]
movsx ecx, byte [edi + 0x17c]
lea esi, [ebx + 4]
cmp esi, dword [edi + 0x104]
jbe 0x10039a96
cmp ecx, 1
je 0x10039a96
push 0x200
push edi
mov dword [ebp - 0x1c], edx
call fcn.1002d960
mov edx, dword [ebp - 0x1c]
add esp, 8
test eax, eax
jne 0x1003addf
movsx ecx, byte [edi + 0x17c]
cmp ecx, 8
ja 0x10039c87
movzx eax, word [ecx*2 + 0x10214c74]
add eax, 0x10039aaf
notrack jmp eax
push 0x4a5
push str.for_put.c
push 2
push 8
call fcn.10022aa0
add esp, 0x10
jmp 0x10039e40
movsx ecx, byte [edi + 0x17e]
mov edx, dword [edi + 0x50]
test edx, edx
je 0x10039e52
mov esi, edx
jmp 0x10039e55
mov esi, dword [edi + 0x48]
cmp ecx, 2
jne 0x1003a06b
mov eax, dword [edi + 0x90]
test eax, eax
je 0x10039edf
cmp byte [eax + 0x1c], 0
jne 0x10039e74
cmp byte [eax + 0x1d], 0
je 0x10039ed5
cmp byte [eax + 0x20], 0
je 0x10039eb0
cmp dword [edi + 0x154], 1
je 0x10039ed5
cmp dword [0x1024c380], 0
je 0x10039eb0
movzx ecx, byte [edi + 0x198]
mov edx, dword [edi + 0x15c]
test ecx, 0x80
je 0x10039ea6
cmp edx, 0xfffffffa
je 0x10039ed5
cmp edx, 1
je 0x10039ed5
cmp edx, 2
je 0x10039ed5
mov eax, edi
lea edx, [ebp - 0x14]
mov ecx, 1
mov byte [edx], 0xa
call fcn.100393a0
cmp eax, 0xffffffff
je 0x1003a8cd
mov eax, dword [edi + 0x90]
test eax, eax
je 0x10039edf
mov byte [eax + 0x1c], 0
mov eax, dword [edi + 0x90]
test byte [edi + 0x190], 4
je 0x10039efe
test byte [edi + 0x192], 0x40
je 0x10039efe
test byte [edi + 0x193], 8
jne 0x10039fb5
movsx edx, byte [edi + 0x17c]
cmp edx, 5
je 0x10039fb5
movzx ecx, byte [edi + 0x195]
mov dword [ebp - 0x18], ecx
cmp edx, 7
je 0x10039fad
cmp edx, 6
je 0x10039fad
cmp edx, 8
je 0x10039fad
test byte [ebp - 0x18], 0x40
jne 0x10039fad
test eax, eax
je 0x1003a8f2
cmp byte [eax + 0x1e], 0
je 0x10039f85
mov edx, dword [edi + 0x154]
cmp edx, 1
je 0x10039fc5
cmp dword [0x1024c380], 0
je 0x10039f85
mov ecx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x198]
test ecx, 0x80
je 0x10039f79
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x10039fc5
cmp dword [ebp - 0x1c], 1
je 0x10039fc5
cmp dword [ebp - 0x1c], 2
je 0x10039fc5
mov ecx, dword [edi + 0x50]
test ecx, ecx
je 0x1003a8e6
mov byte [ecx + ebx], 0xa
movzx ecx, byte [edi + 0x195]
inc ebx
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0x154]
mov dword [ebp - 0x18], ecx
jmp 0x10039fc5
mov edx, dword [edi + 0x154]
jmp 0x10039fc5
movzx ecx, byte [edi + 0x195]
mov edx, dword [edi + 0x154]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
and ecx, 0xffffffbf
mov byte [edi + 0x195], cl
test eax, eax
je 0x1003a024
cmp byte [eax + 0x1e], 0
je 0x1003a024
movzx ecx, word [edi + 0x17a]
test ecx, ecx
jg 0x1003a024
cmp edx, 1
je 0x1003a01b
cmp dword [0x1024c380], 0
je 0x1003a024
mov ecx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x198]
test ecx, 0x80
je 0x1003a012
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x1003a01b
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x1003a024
mov byte [eax + 0x20], 1
jmp 0x1003a7a5
cmp edx, 1
je 0x1003a05a
cmp dword [0x1024c380], 0
je 0x1003a7a5
movzx ecx, byte [edi + 0x198]
mov edx, dword [edi + 0x15c]
test ecx, 0x80
je 0x1003a050
cmp edx, 0xfffffffa
je 0x1003a05a
dec edx
cmp edx, 1
ja 0x1003a7a5
test eax, eax
je 0x1003a7a5
mov byte [eax + 0x20], 0
jmp 0x1003a7a5
cmp ecx, 1
jne 0x1003a6fc
cmp ebx, 5
mov eax, ebx
jne 0x1003a080
mov eax, 6
lea ebx, [eax - 4]
test edx, edx
je 0x1003ad8d
movsx ecx, byte [edx + 5]
lea esi, [edx + 4]
cmp ecx, 0x2b
je 0x1003ac05
cmp ecx, 0x30
je 0x1003a97b
cmp ecx, 0x31
je 0x1003a491
cmp ecx, 0x24
jne 0x1003a209
test byte [edi + 0x190], 2
je 0x1003a1ac
cmp dword [edi + 0x154], 1
je 0x1003a0fd
cmp dword [0x1024c380], 0
je 0x1003a1ac
movzx ecx, byte [edi + 0x198]
mov ebx, dword [edi + 0x15c]
test ecx, 0x80
je 0x1003a0f3
cmp ebx, 0xfffffffa
je 0x1003a0fd
dec ebx
cmp ebx, 1
ja 0x1003a1ac
mov edx, dword [edi + 0x90]
test edx, edx
je 0x1003a906
cmp byte [edx + 0x1e], 0
je 0x1003a157
cmp byte [edx + 0x1c], 0
jne 0x1003a11d
cmp byte [edx + 0x1d], 0
je 0x1003a130
inc esi
lea ebx, [eax - 5]
mov byte [esi], 0xa
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x1003a136
jmp 0x1003a14e
add esi, 2
lea ebx, [eax - 6]
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x90]
test edx, edx
je 0x1003a14e
mov byte [edx + 0x1d], 0
mov edx, dword [edi + 0x90]
mov byte [edx + 0x20], 1
jmp 0x1003a7a5
cmp byte [edx + 0x20], 0
jne 0x1003a17c
cmp byte [edx + 0x1c], 0
jne 0x1003a169
cmp byte [edx + 0x1d], 0
je 0x1003a17c
inc esi
lea ebx, [eax - 5]
mov byte [esi], 0xa
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x1003a182
jmp 0x1003a18c
add esi, 2
lea ebx, [eax - 6]
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x90]
mov byte [edx + 0x1d], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a920
cmp byte [ecx + 0x1c], 0
jne 0x1003a1c6
cmp byte [ecx + 0x1d], 0
je 0x1003a1d9
inc esi
lea ebx, [eax - 5]
mov byte [esi], 0xa
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a1df
jmp 0x1003a1e9
add esi, 2
lea ebx, [eax - 6]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1d], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
test ecx, ecx
jne 0x1003a2fd
test byte [edi + 0x190], 2
je 0x1003a2c3
cmp dword [edi + 0x154], 1
je 0x1003a254
cmp dword [0x1024c380], 0
je 0x1003a2c3
movzx ecx, byte [edi + 0x198]
mov ebx, dword [edi + 0x15c]
test ecx, 0x80
je 0x1003a24e
cmp ebx, 0xfffffffa
je 0x1003a254
dec ebx
cmp ebx, 1
ja 0x1003a2c3
mov edx, dword [edi + 0x90]
test edx, edx
je 0x1003a92b
movzx ecx, byte [edx + 0x1e]
add esi, 2
lea ebx, [eax - 6]
test ecx, ecx
je 0x1003a295
test edx, edx
je 0x1003a28c
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x90]
test edx, edx
je 0x1003a28c
mov byte [edx + 0x1d], 0
mov edx, dword [edi + 0x90]
mov byte [edx + 0x20], 1
jmp 0x1003a7a5
test edx, edx
je 0x1003a2a3
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x90]
mov byte [edx + 0x1d], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov ecx, dword [edi + 0x90]
add esi, 2
lea ebx, [eax - 6]
test ecx, ecx
je 0x1003a2dd
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1d], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
movzx edx, byte [edi + 0x190]
test dl, 2
je 0x1003a42f
cmp dword [edi + 0x154], 1
je 0x1003a34e
cmp dword [0x1024c380], 0
je 0x1003a42f
mov ecx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x198]
test ecx, 0x80
je 0x1003a341
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x1003a34e
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x1003a42f
mov ecx, dword [edi + 0x90]
inc esi
test ecx, ecx
je 0x1003a94a
cmp byte [ecx + 0x1e], 0
je 0x1003a3c6
test dl, 4
je 0x1003a37b
test ecx, ecx
je 0x1003a941
cmp byte [ecx + 0x20], 0
je 0x1003a383
lea ebx, [eax - 5]
jmp 0x1003a3a5
test ecx, ecx
je 0x1003a941
cmp byte [ecx + 0x1c], 0
jne 0x1003a38f
cmp byte [ecx + 0x1d], 0
je 0x1003a39d
mov byte [esi], 0xa
lea ebx, [eax - 5]
mov ecx, dword [edi + 0x90]
jmp 0x1003a3a1
inc esi
lea ebx, [eax - 6]
test ecx, ecx
je 0x1003a3bd
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a3bd
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x20], 1
jmp 0x1003a7a5
cmp byte [ecx + 0x20], 0
je 0x1003a3d8
test dl, 4
je 0x1003a3ee
mov byte [esi + ebx - 1], 0xd
jmp 0x1003a3f7
cmp byte [ecx + 0x1c], 0
jne 0x1003a3e4
cmp byte [ecx + 0x1d], 0
je 0x1003a3ee
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x1003a3f7
inc esi
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov ecx, dword [edi + 0x90]
inc esi
test ecx, ecx
je 0x1003a450
cmp byte [ecx + 0x1c], 0
jne 0x1003a446
cmp byte [ecx + 0x1d], 0
je 0x1003a450
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x1003a459
inc esi
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
movzx ecx, byte [edi + 0x190]
test cl, 2
je 0x1003a65c
cmp dword [edi + 0x154], 1
je 0x1003a4e2
cmp dword [0x1024c380], 0
je 0x1003a65c
mov edx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], edx
movzx edx, byte [edi + 0x198]
test edx, 0x80
je 0x1003a4d5
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x1003a4e2
mov edx, dword [ebp - 0x1c]
dec edx
cmp edx, 1
ja 0x1003a65c
mov edx, dword [edi + 0x90]
inc esi
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x1003a967
cmp byte [edx + 0x1e], 0
je 0x1003a5aa
and ecx, 4
shr ecx, 2
je 0x1003a51e
cmp dword [ebp - 0x1c], 0
je 0x1003a95e
mov ebx, dword [ebp - 0x1c]
cmp byte [ebx + 0x20], 0
je 0x1003a528
lea ebx, [eax - 5]
jmp 0x1003a57d
cmp dword [ebp - 0x1c], 0
je 0x1003a95e
mov ebx, dword [ebp - 0x1c]
cmp byte [ebx + 0x1c], 0
jne 0x1003a537
cmp byte [ebx + 0x1d], 0
je 0x1003a573
test ecx, ecx
je 0x1003a562
add esi, 0xfffffffc
mov ebx, 0xd
mov byte [esi], 0xa
mov byte [esi + 1], 0xc
mov byte [esi + 2], bl
mov byte [esi + 3], 0x20
mov byte [esi + 4], bl
lea ebx, [eax - 1]
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
jmp 0x1003a577
mov byte [esi], 0xc
lea ebx, [eax - 5]
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
jmp 0x1003a577
inc esi
lea ebx, [eax - 6]
cmp dword [ebp - 0x1c], 0
je 0x1003a59e
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1003a59e
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x20], 1
jmp 0x1003a7a5
cmp byte [edx + 0x20], 0
je 0x1003a5c7
test cl, 4
je 0x1003a5bc
mov byte [esi + ebx - 1], 0xd
jmp 0x1003a624
inc esi
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x1003a624
cmp byte [edx + 0x1c], 0
jne 0x1003a5d3
cmp byte [edx + 0x1d], 0
je 0x1003a5f9
test cl, 4
je 0x1003a61c
add esi, 0xfffffffc
mov ecx, 0xd
mov byte [esi], 0xa
mov byte [esi + 1], 0xc
mov byte [esi + 2], cl
mov byte [esi + 3], 0x20
mov byte [esi + 4], cl
mov byte [esi + ebx + 3], cl
mov ebx, eax
jmp 0x1003a624
test cl, 4
je 0x1003a61c
add esi, 0xfffffffd
mov ecx, 0xd
mov byte [esi], 0xc
mov byte [esi + 1], cl
mov byte [esi + 2], 0x20
mov byte [esi + 3], cl
mov byte [esi + ebx + 2], cl
lea ebx, [eax - 1]
jmp 0x1003a624
mov byte [esi], 0xc
mov byte [esi + ebx - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov edx, dword [edi + 0x90]
inc esi
test edx, edx
je 0x1003a699
cmp byte [edx + 0x1c], 0
jne 0x1003a673
cmp byte [edx + 0x1d], 0
je 0x1003a699
test cl, 4
je 0x1003a6bc
add esi, 0xfffffffc
mov ecx, 0xd
mov byte [esi], 0xa
mov byte [esi + 1], 0xc
mov byte [esi + 2], cl
mov byte [esi + 3], 0x20
mov byte [esi + 4], cl
mov byte [esi + ebx + 3], cl
mov ebx, eax
jmp 0x1003a6c4
test cl, 4
je 0x1003a6bc
add esi, 0xfffffffd
mov ecx, 0xd
mov byte [esi], 0xc
mov byte [esi + 1], cl
mov byte [esi + 2], 0x20
mov byte [esi + 3], cl
mov byte [esi + ebx + 2], cl
lea ebx, [eax - 1]
jmp 0x1003a6c4
mov byte [esi], 0xc
mov byte [esi + ebx - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003adb2
cmp byte [ecx + 0x1e], 0
je 0x1003a76c
movzx eax, word [edi + 0x17a]
mov edx, dword [edi + 0x154]
test eax, eax
jg 0x1003a765
cmp edx, 1
je 0x1003a3bd
cmp dword [0x1024c380], 0
je 0x1003a77c
movzx eax, byte [edi + 0x198]
mov edx, dword [edi + 0x15c]
test eax, 0x80
je 0x1003a750
cmp edx, 0xfffffffa
je 0x1003a3bd
dec edx
cmp edx, 1
jbe 0x1003a3bd
cmp dword [0x1024c380], 0
jne 0x1003a77e
jmp 0x1003a7a5
cmp edx, 1
je 0x1003a79d
jmp 0x1003a75a
cmp dword [edi + 0x154], 1
je 0x1003a7a1
cmp dword [0x1024c380], 0
je 0x1003a7a5
movzx eax, byte [edi + 0x198]
mov edx, dword [edi + 0x15c]
test eax, 0x80
je 0x1003a797
cmp edx, 0xfffffffa
je 0x1003a79d
dec edx
cmp edx, 1
ja 0x1003a7a5
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x20], 0
mov eax, edi
mov edx, esi
mov ecx, ebx
call fcn.100393a0
and byte [edi + 0x194], 0xbf
cmp eax, 0xffffffff
je 0x1003a8cd
test byte [edi + 0x195], 8
je 0x1003a7ee
push dword [edi + 0xfc]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x1003ad9c
xor eax, eax
and byte [edi + 0x195], 0xf7
test eax, eax
jne 0x1003ae4c
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x100], eax
mov eax, 0x26
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [edi + 0x48]
mov byte [ecx + ebx], 0xa
jmp 0x10039f94
movzx ecx, word [edi + 0x17a]
test ecx, ecx
jle 0x10039f85
jmp 0x10039f47
movzx ecx, word [edi + 0x17a]
add esi, 2
lea ebx, [eax - 6]
test ecx, ecx
jle 0x1003a18c
jmp 0x1003a14e
add esi, 2
lea ebx, [eax - 6]
jmp 0x1003a1e9
movzx ecx, word [edi + 0x17a]
test ecx, ecx
mov ecx, 0
setg cl
jmp 0x1003a266
inc esi
lea ebx, [eax - 6]
jmp 0x1003a3bd
movzx ebx, word [edi + 0x17a]
test ebx, ebx
jle 0x1003a3ee
jmp 0x1003a363
inc esi
lea ebx, [eax - 6]
jmp 0x1003a59e
movzx edx, word [edi + 0x17a]
test edx, edx
jle 0x1003a5f9
jmp 0x1003a4fe
movzx ecx, byte [edi + 0x190]
test cl, 2
je 0x1003ab46
cmp dword [edi + 0x154], 1
je 0x1003a9cc
cmp dword [0x1024c380], 0
je 0x1003ab46
mov edx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], edx
movzx edx, byte [edi + 0x198]
test edx, 0x80
je 0x1003a9bf
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x1003a9cc
mov edx, dword [ebp - 0x1c]
dec edx
cmp edx, 1
ja 0x1003ab46
mov edx, dword [edi + 0x90]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x1003abe6
cmp byte [edx + 0x1e], 0
je 0x1003aa90
and ecx, 4
shr ecx, 2
je 0x1003aa08
cmp dword [ebp - 0x1c], 0
je 0x1003abfa
mov edx, dword [ebp - 0x1c]
cmp byte [edx + 0x20], 0
je 0x1003aa12
inc esi
lea ebx, [eax - 5]
jmp 0x1003aa63
cmp dword [ebp - 0x1c], 0
je 0x1003abfa
mov edx, dword [ebp - 0x1c]
cmp byte [edx + 0x1c], 0
jne 0x1003aa21
cmp byte [edx + 0x1d], 0
je 0x1003aa57
test ecx, ecx
je 0x1003aa42
dec esi
mov ebx, 0xa
mov byte [esi], bl
mov byte [esi + 1], 0xd
mov byte [esi + 2], bl
lea ebx, [eax - 3]
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
jmp 0x1003aa5d
mov ecx, 0xa
mov byte [esi], cl
mov byte [esi + 1], cl
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
jmp 0x1003aa5d
add esi, 2
lea ebx, [eax - 6]
cmp dword [ebp - 0x1c], 0
je 0x1003aa84
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1003aa84
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x20], 1
jmp 0x1003a7a5
cmp byte [edx + 0x20], 0
je 0x1003aab0
test cl, 4
je 0x1003aaa3
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x1003ab0e
add esi, 2
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x1003ab0e
cmp byte [edx + 0x1c], 0
jne 0x1003aabc
cmp byte [edx + 0x1d], 0
je 0x1003aaed
test cl, 4
je 0x1003aada
dec esi
mov ecx, 0xa
mov byte [esi], cl
mov byte [esi + 1], 0xd
mov byte [esi + 2], cl
mov byte [esi + ebx + 1], 0xd
lea ebx, [eax - 2]
jmp 0x1003ab0e
mov ecx, 0xa
mov byte [esi], cl
mov byte [esi + 1], cl
mov byte [esi + ebx], 0xd
lea ebx, [eax - 3]
jmp 0x1003ab0e
test cl, 4
je 0x1003ab05
mov ecx, 0xd
mov byte [esi], cl
mov byte [esi + 1], 0xa
mov byte [esi + ebx], cl
lea ebx, [eax - 3]
jmp 0x1003ab0e
inc esi
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
mov edx, dword [edi + 0x90]
test edx, edx
je 0x1003ab8d
cmp byte [edx + 0x1c], 0
jne 0x1003ab5c
cmp byte [edx + 0x1d], 0
je 0x1003ab8d
test cl, 4
je 0x1003ab7a
dec esi
mov ecx, 0xa
mov byte [esi], cl
mov byte [esi + 1], 0xd
mov byte [esi + 2], cl
mov byte [esi + ebx + 1], 0xd
lea ebx, [eax - 2]
jmp 0x1003abae
mov ecx, 0xa
mov byte [esi], cl
mov byte [esi + 1], cl
mov byte [esi + ebx], 0xd
lea ebx, [eax - 3]
jmp 0x1003abae
test cl, 4
je 0x1003aba5
mov ecx, 0xd
mov byte [esi], cl
mov byte [esi + 1], 0xa
mov byte [esi + ebx], cl
lea ebx, [eax - 3]
jmp 0x1003abae
inc esi
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
movzx edx, word [edi + 0x17a]
test edx, edx
jle 0x1003aaed
jmp 0x1003a9e7
add esi, 2
lea ebx, [eax - 6]
jmp 0x1003aa84
movzx ecx, byte [edi + 0x190]
test cl, 2
je 0x1003ad2b
cmp dword [edi + 0x154], 1
je 0x1003ac56
cmp dword [0x1024c380], 0
je 0x1003ad2b
mov edx, dword [edi + 0x15c]
mov dword [ebp - 0x1c], edx
movzx edx, byte [edi + 0x198]
test edx, 0x80
je 0x1003ac49
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x1003ac56
mov edx, dword [ebp - 0x1c]
dec edx
cmp edx, 1
ja 0x1003ad2b
mov edx, dword [edi + 0x90]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x1003ad79
cmp byte [edx + 0x1e], 0
je 0x1003accc
test cl, 4
je 0x1003ac93
cmp dword [ebp - 0x1c], 0
je 0x1003ad6e
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x1003ac8b
inc esi
lea ebx, [eax - 5]
jmp 0x1003ac9f
add esi, 2
lea ebx, [eax - 6]
jmp 0x1003ac9f
add esi, 2
lea ebx, [eax - 6]
cmp dword [ebp - 0x1c], 0
je 0x1003acc0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1003acc0
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x20], 1
jmp 0x1003a7a5
test cl, 4
je 0x1003ace8
cmp dword [ebp - 0x1c], 0
je 0x1003ace8
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x1003ace8
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x1003acf3
add esi, 2
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
add esi, 2
lea ebx, [eax - 5]
mov byte [ebx + esi - 1], 0xd
mov ecx, dword [edi + 0x90]
mov byte [ecx + 0x1c], 1
mov ecx, dword [edi + 0x90]
mov dword [ecx + 0x10], edi
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x1003a7a5
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
jne 0x1003a7a1
jmp 0x1003a7a5
add esi, 2
lea ebx, [eax - 6]
jmp 0x1003acc0
movzx edx, word [edi + 0x17a]
test edx, edx
jle 0x1003accc
jmp 0x1003ac6d
mov ecx, dword [edi + 0x48]
lea esi, [ecx + 4]
movsx ecx, byte [ecx + 5]
jmp 0x1003a092
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x100], eax
mov eax, 0x26
jmp 0x1003a7df
movzx eax, word [edi + 0x17a]
mov edx, dword [edi + 0x154]
test eax, eax
jg 0x1003add1
cmp edx, 1
je 0x1003a7a5
jmp 0x1003a75a
cmp edx, 1
je 0x1003a79d
jmp 0x1003a75a
push 4
push edi
mov dword [ebp - 0x1c], edx
call fcn.1002d960
mov edx, dword [ebp - 0x1c]
add esp, 8
test eax, eax
je 0x10039a8f
mov edx, dword [edi + 0x20]
test edx, edx
je 0x1003ae54
test byte [edx + 0x44], 2
je 0x1003ae2f
mov ecx, 0x42
mov dword [edx + 0x38], ecx
mov edx, dword [edi + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [edi + 0x78]
test edx, edx
je 0x1003ae22
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x78], ecx
mov eax, 0x42
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, 0x42
push edx
movzx ecx, byte [edi + 0x194]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push edi
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret