Function at 0x498b90
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 0x498ba6
mov esi, dword [edi + 0x50]
mov ebx, dword [edi + 0x54]
test ebx, ebx
je 0x498bb3
neg ebx
add ebx, esi
jmp 0x498bb8
mov ebx, esi
sub ebx, dword [edi + 0x4c]
movsx edx, byte [edi + 0x18c]
lea eax, [edx - 2]
test eax, 0xfffffffd
je 0x49a0be
cmp edx, 8
jne 0x498c57
cmp byte [edi + 0x18e], 1
je 0x498cc8
test byte [edi + 0x1a5], 0x40
jne 0x498cc8
mov eax, dword [edi + 0x94]
test eax, eax
je 0x498c50
cmp byte [eax + 0x1e], 0
je 0x498c50
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x498c50
cmp dword [edi + 0x164], 1
je 0x498cc8
cmp dword [0x22072dc], 0
je 0x498c50
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x498c3e
cmp ecx, 0xfffffffa
je 0x498cc8
cmp ecx, 1
je 0x498cc8
cmp ecx, 2
je 0x498cc8
mov ecx, 2
jmp 0x498cca
lea eax, [edx - 6]
cmp eax, 1
ja 0x498cc8
cmp byte [edi + 0x18e], 1
je 0x498cc8
test byte [edi + 0x1a5], 0x40
jne 0x498cc8
mov eax, dword [edi + 0x94]
test eax, eax
je 0x498cc1
cmp byte [eax + 0x1e], 0
je 0x498cc1
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x498cc1
cmp dword [edi + 0x164], 1
je 0x498cc8
cmp dword [0x22072dc], 0
je 0x498cc1
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x498cb7
cmp ecx, 0xfffffffa
je 0x498cc8
cmp ecx, 1
je 0x498cc8
cmp ecx, 2
je 0x498cc8
mov ecx, 1
jmp 0x498cca
xor ecx, ecx
lea eax, [ebx + ecx]
cmp eax, dword [edi + 0x10c]
jbe 0x498d6a
cmp edx, 1
je 0x498d6a
push 0x200
push ecx
push edi
call fcn.00494530
add esp, 0xc
test eax, eax
je 0x498d63
mov edx, dword [edi + 0x20]
test edx, edx
je 0x499ac5
test byte [edx + 0x44], 2
je 0x498d30
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 0x498d23
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.00486b00
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 0x498f5a
movzx eax, word [edx*2 + 0x5071d4]
add eax, 0x498d82
jmp eax
push 0x4f2
push str.for_put.c
push 2
push 8
call fcn.0047e600
add esp, 0x10
jmp 0x499114
movsx eax, byte [edi + 0x18e]
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x499126
mov esi, ecx
jmp 0x499129
mov esi, dword [edi + 0x4c]
cmp eax, 2
jne 0x49933b
mov edx, dword [edi + 0x94]
test edx, edx
je 0x4991b2
cmp byte [edx + 0x1c], 0
jne 0x499148
cmp byte [edx + 0x1d], 0
je 0x4991a8
cmp byte [edx + 0x20], 0
je 0x499183
cmp dword [edi + 0x164], 1
je 0x4991a8
cmp dword [0x22072dc], 0
je 0x499183
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x499179
cmp ecx, 0xfffffffa
je 0x4991a8
cmp ecx, 1
je 0x4991a8
cmp ecx, 2
je 0x4991a8
mov eax, edi
lea edx, [ebp - 0x14]
mov ecx, 1
mov byte [edx], 0xa
call fcn.004984ac
cmp eax, 0xffffffff
je 0x499bb4
mov edx, dword [edi + 0x94]
test edx, edx
je 0x4991b2
mov byte [edx + 0x1c], 0
mov edx, dword [edi + 0x94]
test byte [edi + 0x1a0], 4
je 0x4991d1
test byte [edi + 0x1a2], 0x40
je 0x4991d1
test byte [edi + 0x1a3], 8
jne 0x499287
movsx ecx, byte [edi + 0x18c]
cmp ecx, 5
je 0x499287
movzx eax, byte [edi + 0x1a5]
mov dword [ebp - 0x18], eax
cmp ecx, 7
je 0x49927f
cmp ecx, 6
je 0x49927f
cmp ecx, 8
je 0x49927f
test byte [ebp - 0x18], 0x40
jne 0x49927f
test edx, edx
je 0x499bd9
cmp byte [edx + 0x1e], 0
je 0x499257
mov ecx, dword [edi + 0x164]
cmp ecx, 1
je 0x499297
cmp dword [0x22072dc], 0
je 0x499257
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x49924b
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x499297
cmp dword [ebp - 0x1c], 1
je 0x499297
cmp dword [ebp - 0x1c], 2
je 0x499297
mov eax, dword [edi + 0x54]
test eax, eax
je 0x499bcd
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 0x499297
mov ecx, dword [edi + 0x164]
jmp 0x499297
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 0x4992f5
cmp byte [edx + 0x1e], 0
je 0x4992f5
movzx eax, word [edi + 0x18a]
test eax, eax
jg 0x4992f5
cmp ecx, 1
je 0x4992ec
cmp dword [0x22072dc], 0
je 0x4992f5
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x4992e3
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x4992ec
mov eax, dword [ebp - 0x1c]
dec eax
cmp eax, 1
ja 0x4992f5
mov byte [edx + 0x20], 1
jmp 0x499a72
cmp ecx, 1
je 0x49932a
cmp dword [0x22072dc], 0
je 0x499a72
movzx eax, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test eax, 0x80
je 0x499320
cmp ecx, 0xfffffffa
je 0x49932a
dec ecx
cmp ecx, 1
ja 0x499a72
test edx, edx
je 0x499a72
mov byte [edx + 0x20], 0
jmp 0x499a72
cmp eax, 1
jne 0x4999c7
cmp ebx, 5
mov edx, ebx
jne 0x499350
mov edx, 6
lea ebx, [edx - 4]
test ecx, ecx
je 0x49a06c
movsx eax, byte [ecx + 5]
lea esi, [ecx + 4]
cmp eax, 0x2b
je 0x499ee5
cmp eax, 0x30
je 0x499c5f
cmp eax, 0x31
je 0x499760
cmp eax, 0x24
jne 0x4994d9
test byte [edi + 0x1a0], 2
je 0x49947c
cmp dword [edi + 0x164], 1
je 0x4993cd
cmp dword [0x22072dc], 0
je 0x49947c
movzx ecx, byte [edi + 0x1a8]
mov ebx, dword [edi + 0x16c]
test ecx, 0x80
je 0x4993c3
cmp ebx, 0xfffffffa
je 0x4993cd
dec ebx
cmp ebx, 1
ja 0x49947c
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x499bed
cmp byte [ecx + 0x1e], 0
je 0x499427
cmp byte [ecx + 0x1c], 0
jne 0x4993ed
cmp byte [ecx + 0x1d], 0
je 0x499400
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov ecx, dword [edi + 0x94]
test ecx, ecx
jne 0x499406
jmp 0x49941e
add esi, 2
lea ebx, [edx - 6]
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x49941e
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x20], 1
jmp 0x499a72
cmp byte [ecx + 0x20], 0
jne 0x49944c
cmp byte [ecx + 0x1c], 0
jne 0x499439
cmp byte [ecx + 0x1d], 0
je 0x49944c
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov ecx, dword [edi + 0x94]
test ecx, ecx
jne 0x499452
jmp 0x49945c
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 0x499a6e
jmp 0x499a72
mov eax, dword [edi + 0x94]
test eax, eax
je 0x499c07
cmp byte [eax + 0x1c], 0
jne 0x499496
cmp byte [eax + 0x1d], 0
je 0x4994a9
inc esi
lea ebx, [edx - 5]
mov byte [esi], 0xa
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x4994af
jmp 0x4994b9
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 0x499a6e
jmp 0x499a72
test eax, eax
jne 0x4995cd
test byte [edi + 0x1a0], 2
je 0x499593
cmp dword [edi + 0x164], 1
je 0x499524
cmp dword [0x22072dc], 0
je 0x499593
movzx ecx, byte [edi + 0x1a8]
mov ebx, dword [edi + 0x16c]
test ecx, 0x80
je 0x49951e
cmp ebx, 0xfffffffa
je 0x499524
dec ebx
cmp ebx, 1
ja 0x499593
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x499c12
movzx eax, byte [ecx + 0x1e]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
je 0x499565
test ecx, ecx
je 0x49955c
mov byte [ecx + 0x1c], 0
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x49955c
mov byte [ecx + 0x1d], 0
mov ecx, dword [edi + 0x94]
mov byte [ecx + 0x20], 1
jmp 0x499a72
test ecx, ecx
je 0x499573
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 0x499a6e
jmp 0x499a72
mov eax, dword [edi + 0x94]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
je 0x4995ad
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 0x499a6e
jmp 0x499a72
movzx ecx, byte [edi + 0x1a0]
test cl, 2
je 0x4996fe
cmp dword [edi + 0x164], 1
je 0x49961d
cmp dword [0x22072dc], 0
je 0x4996fe
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x1a8]
test eax, 0x80
je 0x499610
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x49961d
mov eax, dword [ebp - 0x1c]
dec eax
cmp eax, 1
ja 0x4996fe
mov eax, dword [edi + 0x94]
inc esi
test eax, eax
je 0x499c2e
cmp byte [eax + 0x1e], 0
je 0x499695
test cl, 4
je 0x49964a
test eax, eax
je 0x499c25
cmp byte [eax + 0x20], 0
je 0x499652
lea ebx, [edx - 5]
jmp 0x499674
test eax, eax
je 0x499c25
cmp byte [eax + 0x1c], 0
jne 0x49965e
cmp byte [eax + 0x1d], 0
je 0x49966c
mov byte [esi], 0xa
lea ebx, [edx - 5]
mov eax, dword [edi + 0x94]
jmp 0x499670
inc esi
lea ebx, [edx - 6]
test eax, eax
je 0x49968c
mov byte [eax + 0x1c], 0
mov eax, dword [edi + 0x94]
test eax, eax
je 0x49968c
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
mov byte [eax + 0x20], 1
jmp 0x499a72
cmp byte [eax + 0x20], 0
je 0x4996a7
test cl, 4
je 0x4996bd
mov byte [esi + ebx - 1], 0xd
jmp 0x4996c6
cmp byte [eax + 0x1c], 0
jne 0x4996b3
cmp byte [eax + 0x1d], 0
je 0x4996bd
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x4996c6
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
mov eax, dword [edi + 0x94]
inc esi
test eax, eax
je 0x49971f
cmp byte [eax + 0x1c], 0
jne 0x499715
cmp byte [eax + 0x1d], 0
je 0x49971f
mov byte [esi], 0xa
mov byte [esi + ebx - 1], 0xd
jmp 0x499728
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x499929
cmp dword [edi + 0x164], 1
je 0x4997b0
cmp dword [0x22072dc], 0
je 0x499929
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x4997a3
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x4997b0
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x499929
mov ecx, dword [edi + 0x94]
inc esi
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x499c4b
cmp byte [ecx + 0x1e], 0
je 0x49987a
and eax, 4
shr eax, 2
je 0x4997ec
cmp dword [ebp - 0x1c], 0
je 0x499c42
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x4997f6
lea ebx, [edx - 5]
jmp 0x49984b
cmp dword [ebp - 0x1c], 0
je 0x499c42
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x499805
cmp byte [ecx + 0x1d], 0
je 0x499841
test eax, eax
je 0x499830
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 0x499845
mov byte [esi], 0xc
lea ebx, [edx - 5]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x1c], eax
jmp 0x499845
inc esi
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x49986e
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x49986e
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 0x499a72
cmp byte [ecx + 0x20], 0
je 0x499896
test al, 4
je 0x49988b
mov byte [esi + ebx - 1], 0xd
jmp 0x4998f1
inc esi
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x4998f1
cmp byte [ecx + 0x1c], 0
jne 0x4998a2
cmp byte [ecx + 0x1d], 0
je 0x4998c7
test al, 4
je 0x4998e9
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 0x4998f1
test al, 4
je 0x4998e9
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 0x4998f1
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
mov ecx, dword [edi + 0x94]
inc esi
test ecx, ecx
je 0x499965
cmp byte [ecx + 0x1c], 0
jne 0x499940
cmp byte [ecx + 0x1d], 0
je 0x499965
test al, 4
je 0x499987
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 0x49998f
test al, 4
je 0x499987
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 0x49998f
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
mov eax, dword [edi + 0x94]
test eax, eax
je 0x49a091
cmp byte [eax + 0x1e], 0
je 0x499a38
movzx edx, word [edi + 0x18a]
mov ecx, dword [edi + 0x164]
test edx, edx
jg 0x499a31
cmp ecx, 1
je 0x49968c
cmp dword [0x22072dc], 0
je 0x499a48
movzx edx, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test edx, 0x80
je 0x499a1c
cmp ecx, 0xfffffffa
je 0x49968c
dec ecx
cmp ecx, 1
jbe 0x49968c
cmp dword [0x22072dc], 0
jne 0x499a4a
jmp 0x499a72
cmp ecx, 1
je 0x499a6a
jmp 0x499a26
cmp dword [edi + 0x164], 1
je 0x499a6e
cmp dword [0x22072dc], 0
je 0x499a72
movzx edx, byte [edi + 0x1a8]
mov ecx, dword [edi + 0x16c]
test edx, 0x80
je 0x499a64
cmp ecx, 0xfffffffa
je 0x499a6a
dec ecx
cmp ecx, 1
ja 0x499a72
test eax, eax
je 0x499a72
mov byte [eax + 0x20], 0
mov eax, edi
mov edx, esi
mov ecx, ebx
call fcn.004984ac
and byte [edi + 0x1a4], 0xbf
cmp eax, 0xffffffff
je 0x499bb4
test byte [edi + 0x1a5], 8
je 0x499abb
push dword [edi + 0x104]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x49a07b
xor eax, eax
and byte [edi + 0x1a5], 0xf7
test eax, eax
jne 0x498d5b
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.0047d070
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 0x499266
movzx eax, word [edi + 0x18a]
test eax, eax
jle 0x499257
jmp 0x49921a
movzx eax, word [edi + 0x18a]
add esi, 2
lea ebx, [edx - 6]
test eax, eax
jle 0x49945c
jmp 0x49941e
add esi, 2
lea ebx, [edx - 6]
jmp 0x4994b9
movzx ebx, word [edi + 0x18a]
xor eax, eax
test ebx, ebx
setg al
jmp 0x499536
inc esi
lea ebx, [edx - 6]
jmp 0x49968c
movzx ebx, word [edi + 0x18a]
test ebx, ebx
jle 0x4996bd
jmp 0x499632
inc esi
lea ebx, [edx - 6]
jmp 0x49986e
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x4998c7
jmp 0x4997cc
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x499e28
cmp dword [edi + 0x164], 1
je 0x499caf
cmp dword [0x22072dc], 0
je 0x499e28
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x499ca2
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x499caf
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x499e28
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x499ec6
cmp byte [ecx + 0x1e], 0
je 0x499d75
and eax, 4
shr eax, 2
je 0x499ceb
cmp dword [ebp - 0x1c], 0
je 0x499eda
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x499cf5
inc esi
lea ebx, [edx - 5]
jmp 0x499d46
cmp dword [ebp - 0x1c], 0
je 0x499eda
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x499d04
cmp byte [ecx + 0x1d], 0
je 0x499d3a
test eax, eax
je 0x499d25
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 0x499d40
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
jmp 0x499d40
add esi, 2
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x499d69
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x499d69
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 0x499a72
cmp byte [ecx + 0x20], 0
je 0x499d94
test al, 4
je 0x499d87
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x499df0
add esi, 2
lea ebx, [edx - 5]
mov byte [ebx + esi - 1], 0xd
jmp 0x499df0
cmp byte [ecx + 0x1c], 0
jne 0x499da0
cmp byte [ecx + 0x1d], 0
je 0x499dd0
test al, 4
je 0x499dbd
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 0x499df0
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + ebx], 0xd
lea ebx, [edx - 3]
jmp 0x499df0
test al, 4
je 0x499de7
mov eax, 0xd
mov byte [esi], al
mov byte [esi + 1], 0xa
mov byte [esi + ebx], al
lea ebx, [edx - 3]
jmp 0x499df0
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
mov ecx, dword [edi + 0x94]
test ecx, ecx
je 0x499e6e
cmp byte [ecx + 0x1c], 0
jne 0x499e3e
cmp byte [ecx + 0x1d], 0
je 0x499e6e
test al, 4
je 0x499e5b
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 0x499e8e
mov eax, 0xa
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + ebx], 0xd
lea ebx, [edx - 3]
jmp 0x499e8e
test al, 4
je 0x499e85
mov eax, 0xd
mov byte [esi], al
mov byte [esi + 1], 0xa
mov byte [esi + ebx], al
lea ebx, [edx - 3]
jmp 0x499e8e
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x499dd0
jmp 0x499cca
add esi, 2
lea ebx, [edx - 6]
jmp 0x499d69
movzx eax, byte [edi + 0x1a0]
test al, 2
je 0x49a00a
cmp dword [edi + 0x164], 1
je 0x499f35
cmp dword [0x22072dc], 0
je 0x49a00a
mov ecx, dword [edi + 0x16c]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edi + 0x1a8]
test ecx, 0x80
je 0x499f28
cmp dword [ebp - 0x1c], 0xfffffffa
je 0x499f35
mov ecx, dword [ebp - 0x1c]
dec ecx
cmp ecx, 1
ja 0x49a00a
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x49a058
cmp byte [ecx + 0x1e], 0
je 0x499fac
test al, 4
je 0x499f71
cmp dword [ebp - 0x1c], 0
je 0x49a04d
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x20], 0
je 0x499f69
inc esi
lea ebx, [edx - 5]
jmp 0x499f7d
add esi, 2
lea ebx, [edx - 6]
jmp 0x499f7d
add esi, 2
lea ebx, [edx - 6]
cmp dword [ebp - 0x1c], 0
je 0x499fa0
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x1c], 0
mov edx, dword [edi + 0x94]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x499fa0
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 0x499a72
test al, 4
je 0x499fc7
cmp dword [ebp - 0x1c], 0
je 0x499fc7
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x20], 0
je 0x499fc7
inc esi
mov byte [esi + ebx - 1], 0xd
jmp 0x499fd2
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
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 0x499a72
mov byte [eax + 0x1d], 0
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x499a6e
jmp 0x499a72
add esi, 2
lea ebx, [edx - 6]
jmp 0x499fa0
movzx ecx, word [edi + 0x18a]
test ecx, ecx
jle 0x499fac
jmp 0x499f4c
mov eax, dword [edi + 0x4c]
lea esi, [eax + 4]
movsx eax, byte [eax + 5]
jmp 0x499362
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x108], eax
mov eax, 0x26
jmp 0x499aac
movzx edx, word [edi + 0x18a]
mov ecx, dword [edi + 0x164]
test edx, edx
jg 0x49a0b0
cmp ecx, 1
je 0x499a72
jmp 0x499a26
cmp ecx, 1
je 0x499a6a
jmp 0x499a26
mov ecx, 4
jmp 0x498cca