Function at 0x621940
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x1c
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x60]
test esi, esi
jne 0x621956
mov esi, dword [edi + 0x50]
mov ebx, dword [edi + 0x54]
test ebx, ebx
je 0x621963
neg ebx
add ebx, esi
jmp 0x621968
mov ebx, esi
sub ebx, dword [edi + 0x4c]
movsx edx, byte [edi + 0x18c]
lea eax, [edx - 2]
test eax, 0xfffffffd
je 0x622e6e
cmp edx, 8
jne 0x621a07
cmp byte [edi + 0x18e], 1
je 0x621a78
test byte [edi + 0x1a5], 0x40
jne 0x621a78
mov eax, dword [edi + 0x94]
test eax, eax
je 0x621a00
cmp byte [eax + 0x1e], 0
je 0x621a00
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x621a00
cmp dword [edi + 0x164], 1
je 0x621a78
cmp dword [0x80ec60], 0
je 0x621a00
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x6219ee
cmp ecx, 0xfffffffa
je 0x621a78
cmp ecx, 1
je 0x621a78
cmp ecx, 2
je 0x621a78
mov ecx, 2
jmp 0x621a7a
lea eax, [edx - 6]
cmp eax, 1
ja 0x621a78
cmp byte [edi + 0x18e], 1
je 0x621a78
test byte [edi + 0x1a5], 0x40
jne 0x621a78
mov eax, dword [edi + 0x94]
test eax, eax
je 0x621a71
cmp byte [eax + 0x1e], 0
je 0x621a71
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x621a71
cmp dword [edi + 0x164], 1
je 0x621a78
cmp dword [0x80ec60], 0
je 0x621a71
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x621a67
cmp ecx, 0xfffffffa
je 0x621a78
cmp ecx, 1
je 0x621a78
cmp ecx, 2
je 0x621a78
mov ecx, 1
jmp 0x621a7a
xor ecx, ecx
lea eax, [ebx + ecx]
cmp eax, dword [edi + 0x10c]
jbe 0x621b1a
cmp edx, 1
je 0x621b1a
push 0x200
push ecx
push edi
call fcn.0061c030
add esp, 0xc
test eax, eax
je 0x621b13
mov edx, dword [edi + 0x20]
test edx, edx
je 0x622875
test byte [edx + 0x44], 2
je 0x621ae0
mov ecx, 0x42
mov dword [edx + 0x38], ecx
mov edx, dword [edi + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x621ad3
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x7c], ecx
mov eax, 0x42
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [edi + 0x1ae]
mov edx, 0x42
and ecx, 0x10
movzx ebx, byte [edi + 0x1a4]
push edx
shr ecx, 1
and ebx, 7
push edx
or ebx, ecx
push ebx
push 0xffffffffffffffff
push edi
call fcn.0061aa20
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movsx edx, byte [edi + 0x18c]
cmp edx, 8
ja 0x621d0a
movzx eax, word [edx*2 + 0x74b128]
add eax, 0x621b32
jmp eax
push 0x4f2
push str.for_put.c
push 2
push 8
call fcn.0060b140
add esp, 0x10
jmp 0x621ec4
movsx eax, byte [edi + 0x18e]
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x621ed6
mov esi, ecx
jmp 0x621ed9
mov esi, dword [edi + 0x4c]
cmp eax, 2
jne 0x6220eb
mov edx, dword [edi + 0x94]
test edx, edx
je 0x621f62
cmp byte [edx + 0x1c], 0
jne 0x621ef8
cmp byte [edx + 0x1d], 0
je 0x621f58
cmp byte [edx + 0x20], 0
je 0x621f33
cmp dword [edi + 0x164], 1
je 0x621f58
cmp dword [0x80ec60], 0
je 0x621f33
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x621f29
cmp ecx, 0xfffffffa
je 0x621f58
cmp ecx, 1
je 0x621f58
cmp ecx, 2
je 0x621f58
mov eax, edi
lea edx, [ebp - 0x14]
mov ecx, 1
mov byte [edx], 0xa
call fcn.0062125c
cmp eax, 0xffffffff
je 0x622964
mov edx, dword [edi + 0x94]
test edx, edx
je 0x621f62
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x94]
test byte [edi + 0x1a0], 4
je 0x621f81
test byte [edi + 0x1a2], 0x40
je 0x621f81
test byte [edi + 0x1a3], 8
jne 0x622037
movsx ecx, byte [edi + 0x18c]
cmp ecx, 5
je 0x622037
movzx eax, byte [edi + 0x1a5]
mov dword [ebp - 0x18], eax
cmp ecx, 7
je 0x62202f
cmp ecx, 6
je 0x62202f
cmp ecx, 8
je 0x62202f
test byte [ebp - 0x18], 0x40
jne 0x62202f
test edx, edx
je 0x622989
cmp byte [edx + 0x1e], 0
je 0x622007
mov ecx, dword [edi + 0x164]
cmp ecx, 1
je 0x622047
cmp dword [0x80ec60], 0
je 0x622007
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x621ffb
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x622047
cmp dword [ebp - 0x1c], 1
je 0x622047
cmp dword [ebp - 0x1c], 2
je 0x622047
mov eax, dword [edi + 0x54]
test eax, eax
je 0x62297d
mov byte [eax + ebx], 0xa
movzx eax, byte [edi + 0x1a5]
inc ebx
mov dword [ebp - 0x18], eax
mov edx, dword [edi + 0x94]
mov ecx, dword [edi + 0x164]
jmp 0x622047
mov ecx, dword [edi + 0x164]
jmp 0x622047
movzx eax, byte [edi + 0x1a5]
mov dword [ebp - 0x18], eax
mov ecx, dword [edi + 0x164]
mov eax, dword [ebp - 0x18]
and eax, 0xffffffbf
mov byte [edi + 0x1a5], al
test edx, edx
je 0x6220a5
cmp byte [edx + 0x1e], 0
je 0x6220a5
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x6220a5
cmp ecx, 1
je 0x62209c
cmp dword [0x80ec60], 0
je 0x6220a5
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x622093
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x62209c
mov eax, dword [ebp - 0x1c]
dec eax
cmp eax, 1
ja 0x6220a5
mov byte [edx + 0x20], 1
jmp 0x622822
cmp ecx, 1
je 0x6220da
cmp dword [0x80ec60], 0
je 0x622822
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x6220d0
cmp ecx, 0xfffffffa
je 0x6220da
dec ecx
cmp ecx, 1
ja 0x622822
test edx, edx
je 0x622822
mov byte [edx + 0x20], 0
jmp 0x622822
cmp eax, 1
jne 0x622777
cmp ebx, 5
mov edx, ebx
jne 0x622100
mov edx, 6
lea ebx, [edx - 4]
test ecx, ecx
je 0x622e1c
movsx eax, byte [ecx + 5]
lea esi, [ecx + 4]
cmp eax, 0x2b
je 0x622c95
cmp eax, 0x30
je 0x622a0f
cmp eax, 0x31
je 0x622510
cmp eax, 0x24
jne 0x622289
test byte [edi + 0x1a0], 2
je 0x62222c
cmp dword [edi + 0x164], 1
je 0x62217d
cmp dword [0x80ec60], 0
je 0x62222c
movzx ecx, byte [edi + 0x1a8]
mov ebx, dword [edi + 0x16c]
test ecx, 0x80
je 0x622173
cmp ebx, 0xfffffffa
je 0x62217d
dec ebx
cmp ebx, 1
ja 0x62222c
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x62299d
cmp byte [ecx + 0x1e], 0
je 0x6221d7
cmp byte [ecx + 0x1c], 0
jne 0x62219d
cmp byte [ecx + 0x1d], 0
je 0x6221b0
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov ecx, dword [edi + 0x94]
test ecx, ecx
jne 0x6221b6
jmp 0x6221ce
add esi, 2
lea ebx, [edx - 6]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x6221ce
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x20], 1
jmp 0x622822
cmp byte [ecx + 0x20], 0
jne 0x6221fc
cmp byte [ecx + 0x1c], 0
jne 0x6221e9
cmp byte [ecx + 0x1d], 0
je 0x6221fc
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov ecx, dword [edi + 0x94]
test ecx, ecx
jne 0x622202
jmp 0x62220c
add esi, 2
lea ebx, [edx - 6]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x1d], 1
mov eax, dword [edi + 0x94]
mov dword [eax + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov eax, dword [edi + 0x94]
test eax, eax
je 0x6229b7
cmp byte [eax + 0x1c], 0
jne 0x622246
cmp byte [eax + 0x1d], 0
je 0x622259
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62225f
jmp 0x622269
add esi, 2
lea ebx, [edx - 6]
mov byte [eax + 0x1c], 0
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1d], 1
mov eax, dword [edi + 0x94]
mov dword [eax + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
test eax, eax
jne 0x62237d
test byte [edi + 0x1a0], 2
je 0x622343
cmp dword [edi + 0x164], 1
je 0x6222d4
cmp dword [0x80ec60], 0
je 0x622343
movzx ecx, byte [edi + 0x1a8]
mov ebx, dword [edi + 0x16c]
test ecx, 0x80
je 0x6222ce
cmp ebx, 0xfffffffa
je 0x6222d4
dec ebx
cmp ebx, 1
ja 0x622343
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x6229c2
movzx eax, byte [ecx + 0x1e]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
je 0x622315
test ecx, ecx
je 0x62230c
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x62230c
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x20], 1
jmp 0x622822
test ecx, ecx
je 0x622323
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x1d], 1
mov eax, dword [edi + 0x94]
mov dword [eax + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov eax, dword [edi + 0x94]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
je 0x62235d
mov byte [eax + 0x1c], 0
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1d], 1
mov eax, dword [edi + 0x94]
mov dword [eax + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
movzx ecx, byte [edi + 0x1a0]
test cl, 2
je 0x6224ae
cmp dword [edi + 0x164], 1
je 0x6223cd
cmp dword [0x80ec60], 0
je 0x6224ae
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x6223c0
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x6223cd
mov eax, dword [ebp - 0x1c]
dec eax
cmp eax, 1
ja 0x6224ae
mov eax, dword [edi + 0x94]
inc esi
test eax, eax
je 0x6229de
cmp byte [eax + 0x1e], 0
je 0x622445
test cl, 4
je 0x6223fa
test eax, eax
je 0x6229d5
cmp byte [eax + 0x20], 0
je 0x622402
lea ebx, [edx - 5]
jmp 0x622424
test eax, eax
je 0x6229d5
cmp byte [eax + 0x1c], 0
jne 0x62240e
cmp byte [eax + 0x1d], 0
je 0x62241c
mov byte [esi], 0xa
lea ebx, [edx - 5]
mov eax, dword [edi + 0x94]
jmp 0x622420
inc esi
lea ebx, [edx - 6]
test eax, eax
je 0x62243c
mov byte [eax + 0x1c], 0
mov eax, dword [edi + 0x94]
test eax, eax
je 0x62243c
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
mov byte [eax + 0x20], 1
jmp 0x622822
cmp byte [eax + 0x20], 0
je 0x622457
test cl, 4
je 0x62246d
mov byte [esi + ebx - 1], 0xd
jmp 0x622476
cmp byte [eax + 0x1c], 0
jne 0x622463
cmp byte [eax + 0x1d], 0
je 0x62246d
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x622476
inc esi
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov eax, dword [edi + 0x94]
inc esi
test eax, eax
je 0x6224cf
cmp byte [eax + 0x1c], 0
jne 0x6224c5
cmp byte [eax + 0x1d], 0
je 0x6224cf
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x6224d8
inc esi
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x6226d9
cmp dword [edi + 0x164], 1
je 0x622560
cmp dword [0x80ec60], 0
je 0x6226d9
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x622553
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x622560
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x6226d9
mov ecx, dword [edi + 0x94]
inc esi
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x6229fb
cmp byte [ecx + 0x1e], 0
je 0x62262a
and eax, 4
shr eax, 2
je 0x62259c
cmp dword [ebp - 0x1c], 0
je 0x6229f2
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x6225a6
lea ebx, [edx - 5]
jmp 0x6225fb
cmp dword [ebp - 0x1c], 0
je 0x6229f2
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x6225b5
cmp byte [ecx + 0x1d], 0
je 0x6225f1
test eax, eax
je 0x6225e0
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, [edx - 1]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x1c], eax
jmp 0x6225f5
mov byte [esi], 0xc
lea ebx, [edx - 5]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x1c], eax
jmp 0x6225f5
inc esi
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x62261e
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x62261e
mov eax, edx
mov byte [eax + 0x1d], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x20], 1
jmp 0x622822
cmp byte [ecx + 0x20], 0
je 0x622646
test al, 4
je 0x62263b
mov byte [esi + ebx - 1], 0xd
jmp 0x6226a1
inc esi
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x6226a1
cmp byte [ecx + 0x1c], 0
jne 0x622652
cmp byte [ecx + 0x1d], 0
je 0x622677
test al, 4
je 0x622699
add esi, 0xfffffffc
mov eax, 0xd
mov byte [esi], 0xa
mov byte [esi + 1], 0xc
mov byte [esi + 2], al
mov byte [esi + 3], 0x20
mov byte [esi + 4], al
mov byte [esi + ebx + 3], al
mov ebx, edx
jmp 0x6226a1
test al, 4
je 0x622699
add esi, 0xfffffffd
mov eax, 0xd
mov byte [esi], 0xc
mov byte [esi + 1], al
mov byte [esi + 2], 0x20
mov byte [esi + 3], al
mov byte [esi + ebx + 2], al
lea ebx, [edx - 1]
jmp 0x6226a1
mov byte [esi], 0xc
mov byte [esi + ebx - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov ecx, dword [edi + 0x94]
inc esi
test ecx, ecx
je 0x622715
cmp byte [ecx + 0x1c], 0
jne 0x6226f0
cmp byte [ecx + 0x1d], 0
je 0x622715
test al, 4
je 0x622737
add esi, 0xfffffffc
mov eax, 0xd
mov byte [esi], 0xa
mov byte [esi + 1], 0xc
mov byte [esi + 2], al
mov byte [esi + 3], 0x20
mov byte [esi + 4], al
mov byte [esi + ebx + 3], al
mov ebx, edx
jmp 0x62273f
test al, 4
je 0x622737
add esi, 0xfffffffd
mov eax, 0xd
mov byte [esi], 0xc
mov byte [esi + 1], al
mov byte [esi + 2], 0x20
mov byte [esi + 3], al
mov byte [esi + ebx + 2], al
lea ebx, [edx - 1]
jmp 0x62273f
mov byte [esi], 0xc
mov byte [esi + ebx - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622e41
cmp byte [eax + 0x1e], 0
je 0x6227e8
movzx edx, word [edi + 0x18a]
mov ecx, dword [edi + 0x164]
test edx, edx
jg 0x6227e1
cmp ecx, 1
je 0x62243c
cmp dword [0x80ec60], 0
je 0x6227f8
movzx edx, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test edx, 0x80
je 0x6227cc
cmp ecx, 0xfffffffa
je 0x62243c
dec ecx
cmp ecx, 1
jbe 0x62243c
cmp dword [0x80ec60], 0
jne 0x6227fa
jmp 0x622822
cmp ecx, 1
je 0x62281a
jmp 0x6227d6
cmp dword [edi + 0x164], 1
je 0x62281e
cmp dword [0x80ec60], 0
je 0x622822
movzx edx, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test edx, 0x80
je 0x622814
cmp ecx, 0xfffffffa
je 0x62281a
dec ecx
cmp ecx, 1
ja 0x622822
test eax, eax
je 0x622822
mov byte [eax + 0x20], 0
mov eax, edi
mov edx, esi
mov ecx, ebx
call fcn.0062125c
and byte [edi + 0x1a4], 0xbf
cmp eax, 0xffffffff
je 0x622964
test byte [edi + 0x1a5], 8
je 0x62286b
push dword [edi + 0x104]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x622e2b
xor eax, eax
and byte [edi + 0x1a5], 0xf7
test eax, eax
jne 0x621b0b
xor eax, eax
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.00609b70
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x108], eax
mov eax, 0x26
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [edi + 0x4c]
mov byte [eax + ebx], 0xa
jmp 0x622016
movzx eax, word [edi + 0x18a]
test eax, eax
jle 0x622007
jmp 0x621fca
movzx eax, word [edi + 0x18a]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
jle 0x62220c
jmp 0x6221ce
add esi, 2
lea ebx, [edx - 6]
jmp 0x622269
movzx ebx, word [edi + 0x18a]
xor eax, eax
test ebx, ebx
setg al
jmp 0x6222e6
inc esi
lea ebx, [edx - 6]
jmp 0x62243c
movzx ebx, word [edi + 0x18a]
test ebx, ebx
jle 0x62246d
jmp 0x6223e2
inc esi
lea ebx, [edx - 6]
jmp 0x62261e
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x622677
jmp 0x62257c
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x622bd8
cmp dword [edi + 0x164], 1
je 0x622a5f
cmp dword [0x80ec60], 0
je 0x622bd8
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x622a52
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x622a5f
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x622bd8
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x622c76
cmp byte [ecx + 0x1e], 0
je 0x622b25
and eax, 4
shr eax, 2
je 0x622a9b
cmp dword [ebp - 0x1c], 0
je 0x622c8a
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x622aa5
inc esi
lea ebx, [edx - 5]
jmp 0x622af6
cmp dword [ebp - 0x1c], 0
je 0x622c8a
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x622ab4
cmp byte [ecx + 0x1d], 0
je 0x622aea
test eax, eax
je 0x622ad5
dec esi
mov ebx, 0xa
mov byte [esi], bl
mov byte [esi + 1], 0xd
mov byte [esi + 2], bl
lea ebx, [edx - 3]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x1c], eax
jmp 0x622af0
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
jmp 0x622af0
add esi, 2
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x622b19
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x622b19
mov eax, edx
mov byte [eax + 0x1d], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x20], 1
jmp 0x622822
cmp byte [ecx + 0x20], 0
je 0x622b44
test al, 4
je 0x622b37
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x622ba0
add esi, 2
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x622ba0
cmp byte [ecx + 0x1c], 0
jne 0x622b50
cmp byte [ecx + 0x1d], 0
je 0x622b80
test al, 4
je 0x622b6d
dec esi
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], 0xd
mov byte [esi + 2], al
mov byte [esi + ebx + 1], 0xd
lea ebx, [edx - 2]
jmp 0x622ba0
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + ebx], 0xd
lea ebx, [edx - 3]
jmp 0x622ba0
test al, 4
je 0x622b97
mov eax, 0xd
mov byte [esi], al
mov byte [esi + 1], 0xa
mov byte [esi + ebx], al
lea ebx, [edx - 3]
jmp 0x622ba0
inc esi
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x622c1e
cmp byte [ecx + 0x1c], 0
jne 0x622bee
cmp byte [ecx + 0x1d], 0
je 0x622c1e
test al, 4
je 0x622c0b
dec esi
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], 0xd
mov byte [esi + 2], al
mov byte [esi + ebx + 1], 0xd
lea ebx, [edx - 2]
jmp 0x622c3e
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + ebx], 0xd
lea ebx, [edx - 3]
jmp 0x622c3e
test al, 4
je 0x622c35
mov eax, 0xd
mov byte [esi], al
mov byte [esi + 1], 0xa
mov byte [esi + ebx], al
lea ebx, [edx - 3]
jmp 0x622c3e
inc esi
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x622b80
jmp 0x622a7a
add esi, 2
lea ebx, [edx - 6]
jmp 0x622b19
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x622dba
cmp dword [edi + 0x164], 1
je 0x622ce5
cmp dword [0x80ec60], 0
je 0x622dba
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x622cd8
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x622ce5
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x622dba
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x622e08
cmp byte [ecx + 0x1e], 0
je 0x622d5c
test al, 4
je 0x622d21
cmp dword [ebp - 0x1c], 0
je 0x622dfd
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x622d19
inc esi
lea ebx, [edx - 5]
jmp 0x622d2d
add esi, 2
lea ebx, [edx - 6]
jmp 0x622d2d
add esi, 2
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x622d50
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x622d50
mov eax, edx
mov byte [eax + 0x1d], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x20], 1
jmp 0x622822
test al, 4
je 0x622d77
cmp dword [ebp - 0x1c], 0
je 0x622d77
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x20], 0
je 0x622d77
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x622d82
add esi, 2
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
add esi, 2
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
mov eax, dword [edi + 0x94]
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 0x94]
mov dword [edx + 0x10], edi
mov eax, dword [edi + 0x94]
test eax, eax
je 0x622822
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x62281e
jmp 0x622822
add esi, 2
lea ebx, [edx - 6]
jmp 0x622d50
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x622d5c
jmp 0x622cfc
mov eax, dword [edi + 0x4c]
lea esi, [eax + 4]
movsx eax, byte [eax + 5]
jmp 0x622112
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x108], eax
mov eax, 0x26
jmp 0x62285c
movzx edx, word [edi + 0x18a]
mov ecx, dword [edi + 0x164]
test edx, edx
jg 0x622e60
cmp ecx, 1
je 0x622822
jmp 0x6227d6
cmp ecx, 1
je 0x62281a
jmp 0x6227d6
mov ecx, 4
jmp 0x621a7a