Function at 0x5500e0
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x3c]
test eax, eax
mov edi, eax
jne 0x5500f6
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x550102
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xb0]
sub ebx, eax
lea eax, [ebx + 4]
cmp eax, ecx
mov dword [ebp - 4], eax
jbe 0x55015a
cmp byte [esi + 0x11c], 1
je 0x55015a
push 0x200
push esi
call fcn.005528f0
add esp, 8
test eax, eax
je 0x55015a
push 4
push esi
call fcn.005528f0
add esp, 8
test eax, eax
je 0x55015a
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.00547a70
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x11c]
dec eax
mov edx, 0xfffffffa
cmp eax, 6
ja case.0x550170.3
jmp dword [eax*4 + 0x550fe4]
mov ecx, dword [esi + 0xb4]
cmp ebx, ecx
jae 0x5501a1
sub ecx, ebx
mov eax, 0x20202020
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, 0xfffffffa
and ecx, 3
rep stosb byte es:[edi], al
mov ebx, dword [esi + 0xb4]
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je case.0x550170.5
mov eax, dword [esi + 0x128]
test ah, 1
je case.0x550170.5
test ah, 0x10
je case.0x550170.5
cmp byte [esi + 0x11e], 1
je case.0x550170.5
test cl, 4
jne case.0x550170.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550236
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x550236
cmp dword [esi + 0x100], 1
je case.0x550170.5
mov eax, dword [0x59d964]
test eax, eax
je 0x550236
test byte [esi + 0x130], 0x40
je 0x55021e
cmp dword [esi + 0x108], edx
je case.0x550170.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x550170.5
cmp eax, 2
je case.0x550170.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x55024f
mov byte [eax + ebx - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [edx + ebx - 1], 0xa
jmp case.0x550170.5
mov eax, dword [esi + 0x28]
mov byte [ebx + eax - 2], 0xd
mov ecx, dword [esi + 0x28]
mov byte [ebx + ecx - 1], 0xa
jmp case.0x550170.5
mov ecx, dword [esi + 0x30]
lea eax, [ebx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x5502ac
test byte [esi + 0x12c], 2
je 0x550296
mov dl, byte [ebp + 0xb]
mov byte [ecx], dl
mov edi, dword [esi + 0x30]
mov cl, byte [ebp + 0xa]
mov byte [edi + 1], cl
mov edi, dword [esi + 0x30]
mov byte [edi + 2], ah
mov edi, dword [esi + 0x30]
mov byte [edi + 3], al
jmp 0x5502f1
mov byte [ecx], al
mov edx, dword [esi + 0x30]
mov cl, byte [ebp + 0xa]
mov byte [edx + 1], ah
mov edx, dword [esi + 0x30]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x30]
jmp 0x5502eb
test byte [esi + 0x12c], 2
je 0x5502d4
mov ecx, dword [esi + 0x28]
mov dl, byte [ebp + 0xb]
mov byte [ecx], dl
mov edi, dword [esi + 0x28]
mov cl, byte [ebp + 0xa]
mov byte [edi + 1], cl
mov edi, dword [esi + 0x28]
mov byte [edi + 2], ah
mov edi, dword [esi + 0x28]
mov byte [edi + 3], al
jmp 0x5502f1
mov edx, dword [esi + 0x28]
mov byte [edx], al
mov ecx, dword [esi + 0x28]
mov byte [ecx + 1], ah
mov edx, dword [esi + 0x28]
mov cl, byte [ebp + 0xa]
mov byte [edx + 2], cl
mov edi, dword [esi + 0x28]
mov dl, byte [ebp + 0xb]
mov byte [edi + 3], dl
mov bl, byte [esi + 0x12c]
mov edi, dword [esi + 0x2c]
test bl, 2
je 0x55031b
mov byte [edi], dl
mov edx, dword [esi + 0x2c]
mov ebx, dword [ebp - 4]
mov byte [edx + 1], cl
mov ecx, dword [esi + 0x2c]
mov byte [ecx + 2], ah
mov edx, dword [esi + 0x2c]
mov byte [edx + 3], al
jmp case.0x550170.5
mov byte [edi], al
mov edi, dword [esi + 0x2c]
mov ebx, dword [ebp - 4]
mov byte [edi + 1], ah
mov eax, dword [esi + 0x2c]
mov byte [eax + 2], cl
mov ecx, dword [esi + 0x2c]
mov byte [ecx + 3], dl
jmp case.0x550170.5
cmp byte [esi + 0x11e], 1
je case.0x550170.5
test byte [esi + 0x12c], 4
jne case.0x550170.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5503a6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x5503a6
cmp dword [esi + 0x100], 1
je case.0x550170.5
mov eax, dword [0x59d964]
test eax, eax
je 0x5503a6
test byte [esi + 0x130], 0x40
je 0x55038e
cmp dword [esi + 0x108], edx
je case.0x550170.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x550170.5
cmp eax, 2
je case.0x550170.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x5503bf
mov byte [eax + ebx], 0xd
mov edx, dword [esi + 0x30]
inc ebx
mov byte [edx + ebx], 0xa
inc ebx
jmp case.0x550170.5
mov eax, dword [esi + 0x28]
inc ebx
mov byte [ebx + eax - 1], 0xd
mov ecx, dword [esi + 0x28]
mov byte [ebx + ecx], 0xa
inc ebx
jmp case.0x550170.5
cmp byte [esi + 0x11e], 1
je case.0x550170.5
test byte [esi + 0x12c], 4
jne case.0x550170.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550430
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x550430
cmp dword [esi + 0x100], 1
je case.0x550170.5
mov eax, dword [0x59d964]
test eax, eax
je 0x550430
test byte [esi + 0x130], 0x40
je 0x550420
cmp dword [esi + 0x108], edx
je case.0x550170.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x550170.5
cmp eax, 2
je case.0x550170.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x55043e
mov byte [eax + ebx], 0xd
inc ebx
jmp case.0x550170.5
mov edx, dword [esi + 0x28]
inc ebx
mov byte [edx + ebx - 1], 0xd
jmp case.0x550170.5
push 0x36d
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.00547a40
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x55046e
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x11e]
dec ecx
je 0x5506cb
dec ecx
je 0x550524
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x5504d7
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x5504d7
cmp dword [esi + 0x100], 1
je 0x550e98
mov eax, dword [0x59d964]
test eax, eax
je 0x5504d7
test byte [esi + 0x130], 0x40
je 0x5504bf
cmp dword [esi + 0x108], 0xfffffffa
je 0x550e98
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550e98
cmp eax, 2
je 0x550e98
cmp dword [esi + 0x100], 1
je 0x550513
mov eax, dword [0x59d964]
test eax, eax
je 0x550f52
test byte [esi + 0x130], 0x40
je 0x5504ff
cmp dword [esi + 0x108], 0xfffffffa
je 0x550513
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550513
cmp eax, 2
jne 0x550f52
test ecx, ecx
je 0x550f52
mov byte [ecx + 0x20], 0
jmp 0x550f52
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550596
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x55053f
test eax, eax
je 0x550596
mov cl, byte [eax + 0x1d]
test ecx, ecx
je 0x550596
mov cl, byte [eax + 0x20]
test cl, cl
je 0x55057a
cmp dword [esi + 0x100], 1
je 0x550596
mov eax, dword [0x59d964]
test eax, eax
je 0x55057a
test byte [esi + 0x130], 0x40
je 0x55056a
cmp dword [esi + 0x108], 0xfffffffa
je 0x550596
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550596
cmp eax, 2
je 0x550596
lea eax, [ebp + 0xb]
push 1
push eax
push esi
mov byte [ebp + 0xb], 0xa
call fcn.00551100
add esp, 0xc
cmp eax, 0xffffffff
je 0x550f76
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5505a1
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je 0x5505bf
mov eax, dword [esi + 0x128]
test ah, 1
je 0x5505bf
test ah, 0x10
jne 0x550628
cmp byte [esi + 0x11c], 6
je 0x550628
test cl, 4
jne 0x550628
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550613
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x550613
cmp dword [esi + 0x100], 1
je 0x550628
mov eax, dword [0x59d964]
test eax, eax
je 0x550613
test byte [esi + 0x130], 0x40
je 0x550603
cmp dword [esi + 0x108], 0xfffffffa
je 0x550628
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550628
cmp eax, 2
je 0x550628
mov eax, dword [esi + 0x30]
test eax, eax
je 0x550620
mov byte [eax + ebx], 0xa
jmp 0x550627
mov edx, dword [esi + 0x28]
mov byte [edx + ebx], 0xa
inc ebx
mov ecx, dword [esi + 0x12c]
and ecx, 0xfffffffb
mov dword [esi + 0x12c], ecx
mov ecx, dword [esi + 0x7c]
mov edx, dword [0x59d964]
test ecx, ecx
je 0x55068c
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x55068c
cmp dword [esi + 0x100], 1
je 0x550e98
test edx, edx
je 0x55068c
test byte [esi + 0x130], 0x40
je 0x550674
cmp dword [esi + 0x108], 0xfffffffa
je 0x550e98
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550e98
cmp eax, 2
je 0x550e98
cmp dword [esi + 0x100], 1
je 0x550513
test edx, edx
je 0x550f52
test byte [esi + 0x130], 0x40
je 0x5506b7
cmp dword [esi + 0x108], 0xfffffffa
je 0x550513
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550513
jmp 0x55050a
cmp ebx, 5
jne 0x5506d5
mov ebx, 6
test eax, eax
je 0x5506de
lea edi, [eax + 4]
jmp 0x5506e4
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
jne 0x5506ee
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x550703.5
xor ecx, ecx
mov cl, byte [eax + 0x551018]
jmp dword [ecx*4 + 0x551000]
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x5507ca
cmp dword [esi + 0x100], 1
je 0x550751
mov eax, dword [0x59d964]
test eax, eax
je 0x5507ca
test byte [esi + 0x130], 0x40
je 0x550741
cmp dword [esi + 0x108], 0xfffffffa
je 0x550751
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550751
cmp eax, 2
jne 0x5507ca
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x55077f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x55077f
test edx, 0x8000000
je 0x550d7e
mov cl, byte [eax + 0x20]
test cl, cl
je 0x550d7e
inc edi
dec ebx
jmp 0x550d84
test edx, 0x8000000
je 0x550799
test eax, eax
je 0x550799
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
test eax, eax
je 0x550799
inc edi
jmp 0x55079d
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5507ba
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x1c], 1
mov edx, dword [esi + 0x7c]
mov dword [edx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5507eb
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x550966
cmp dword [esi + 0x100], 1
je 0x550846
mov eax, dword [0x59d964]
test eax, eax
je 0x550966
test byte [esi + 0x130], 0x40
je 0x550832
cmp dword [esi + 0x108], 0xfffffffa
je 0x550846
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550846
cmp eax, 2
jne 0x550966
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550903
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x5508c1
mov ecx, edx
and ecx, 0x8000000
je 0x55086f
mov dl, byte [eax + 0x20]
test dl, dl
je 0x55086f
inc edi
dec ebx
jmp 0x55089f
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x550885
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x550885
add edi, 2
sub ebx, 2
jmp 0x55089f
test ecx, ecx
je 0x550898
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x55089f
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5508aa
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5508b5
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x550f52
test eax, eax
je 0x550903
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x5508e9
test edx, 0x8000000
je 0x5508de
inc edi
mov byte [edi + ebx - 1], 0xd
jmp 0x55093e
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
jmp 0x55093e
test eax, eax
je 0x550903
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x55091b
test eax, eax
je 0x550903
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x55091b
test edx, 0x8000000
je 0x550910
mov byte [edi], 0xd
jmp 0x550935
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x55093e
test edx, 0x8000000
je 0x550932
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x550939
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550956
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550983
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x55099b
test eax, eax
je 0x550983
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x55099b
test edx, 0x8000000
je 0x550990
mov byte [edi], 0xd
jmp 0x5509b5
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x5509be
test edx, 0x8000000
je 0x5509b2
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x5509b9
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov byte [edi + ebx], 0xd
inc ebx
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x5509d6
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x550b4f
cmp dword [esi + 0x100], 1
je 0x550a31
mov eax, dword [0x59d964]
test eax, eax
je 0x550b4f
test byte [esi + 0x130], 0x40
je 0x550a1d
cmp dword [esi + 0x108], 0xfffffffa
je 0x550a31
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550a31
cmp eax, 2
jne 0x550b4f
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x550ad1
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x550a9e
mov ecx, edx
and ecx, 0x8000000
je 0x550a57
mov dl, byte [eax + 0x20]
test dl, dl
jne 0x550a8d
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x550a6b
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x550a6b
inc edi
sub ebx, 2
jmp 0x550a8e
test ecx, ecx
je 0x550a8a
sub edi, 4
add ebx, 3
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
jmp 0x550a8e
mov byte [edi], 0xc
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550e8a
jmp 0x550e86
test eax, eax
je 0x550ad1
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x550ab7
test edx, 0x8000000
jne 0x550b22
inc edi
dec ebx
jmp 0x550b22
test eax, eax
je 0x550ad1
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550af6
test eax, eax
je 0x550ad1
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x550af6
test edx, 0x8000000
je 0x550b1f
sub edi, 3
add ebx, 2
inc ebx
mov byte [edi], 0xc
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0x20
mov byte [edi + 3], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x550b27
test edx, 0x8000000
je 0x550b1f
sub edi, 4
add ebx, 3
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x550b27
mov byte [edi], 0xc
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550b3f
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x550b6d
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550b92
test eax, eax
je 0x550b6d
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x550b92
test edx, 0x8000000
je 0x550bbb
sub edi, 3
add ebx, 2
inc ebx
mov byte [edi], 0xc
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0x20
mov byte [edi + 3], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x550bc3
test edx, 0x8000000
je 0x550bbb
sub edi, 4
add ebx, 3
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xc
mov byte [edi + 2], 0xd
mov byte [edi + 3], 0x20
mov byte [edi + 4], 0xd
mov byte [edi + ebx - 1], 0xd
jmp 0x550bc3
mov byte [edi], 0xc
mov byte [edi + ebx - 1], 0xd
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550bdb
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x550cd7
cmp dword [esi + 0x100], 1
je 0x550c36
mov eax, dword [0x59d964]
test eax, eax
je 0x550cd7
test byte [esi + 0x130], 0x40
je 0x550c22
cmp dword [esi + 0x108], 0xfffffffa
je 0x550c36
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550c36
cmp eax, 2
jne 0x550cd7
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550ca2
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x550c71
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x550c5c
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x550c5c
add edi, 2
sub ebx, 2
jmp 0x550c61
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550e8a
jmp 0x550e86
test eax, eax
je 0x550ca2
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x550c86
add edi, 2
sub ebx, 2
jmp 0x550caf
test eax, eax
je 0x550ca2
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550caa
test eax, eax
je 0x550ca2
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x550caa
add edi, 2
sub ebx, 2
jmp 0x550caf
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550cba
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550cf6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550cfe
test eax, eax
je 0x550cf6
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x550cfe
add edi, 2
sub ebx, 2
jmp 0x550d03
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550d0e
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x550dca
cmp dword [esi + 0x100], 1
je 0x550d6e
mov eax, dword [0x59d964]
test eax, eax
je 0x550dca
test byte [esi + 0x130], 0x40
je 0x550d5e
cmp dword [esi + 0x108], 0xfffffffa
je 0x550d6e
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550d6e
cmp eax, 2
jne 0x550dca
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550d9f
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x550d9f
add edi, 2
sub ebx, 2
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550d93
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x550f52
add edi, 2
sub ebx, 2
test eax, eax
je 0x550dad
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1d], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
je 0x550ddb
mov byte [eax + 0x1c], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x1d], 1
mov eax, dword [esi + 0x7c]
mov dword [eax + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x550f03
cmp dword [esi + 0x100], 1
je 0x550e43
mov eax, dword [0x59d964]
test eax, eax
je 0x550f03
test byte [esi + 0x130], 0x40
je 0x550e2f
cmp dword [esi + 0x108], 0xfffffffa
je 0x550e43
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x550e43
cmp eax, 2
jne 0x550f03
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x550ed6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x550ea1
test edx, 0x8000000
je 0x550e67
mov cl, byte [eax + 0x20]
test cl, cl
jne 0x550e7e
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x550e7b
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x550e7b
inc edi
sub ebx, 2
jmp 0x550e7f
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550e8a
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550e95
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x550f52
test eax, eax
je 0x550ed6
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x550eba
test edx, 0x8000000
jne 0x550edd
inc edi
dec ebx
jmp 0x550edd
test eax, eax
je 0x550ed6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550eda
test eax, eax
je 0x550ed6
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x550eda
inc edi
dec ebx
jmp 0x550edd
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550efa
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
jmp 0x550f4e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x550f23
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x550f27
test eax, eax
je 0x550f23
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x550f27
inc edi
dec ebx
jmp 0x550f2a
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f47
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x550f52
mov byte [eax + 0x20], 0
push ebx
push edi
push esi
call fcn.00551100
mov edi, dword [esi + 0x128]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x128], edi
mov ecx, edi
jne 0x550f8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xac], eax
pop edi
pop esi
mov eax, 0xc0000026
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, 0x80000000
je 0x550fd9
mov edx, dword [esi + 0xa8]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x550fba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xac], eax
mov edi, 0xc0000026
mov ecx, dword [esi + 0x128]
and ecx, 0x7fffffff
test edi, edi
mov dword [esi + 0x128], ecx
je 0x550fd9
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret