Function at 0x40c230
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 0x40c246
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ebx, edi
test eax, eax
jne 0x40c252
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 0x40c2aa
cmp byte [esi + 0x11c], 1
je 0x40c2aa
push 0x200
push esi
call fcn.0040f310
add esp, 8
test eax, eax
je 0x40c2aa
push 4
push esi
call fcn.0040f310
add esp, 8
test eax, eax
je 0x40c2aa
push esi
push 0xc0000042
push 0xc0000042
push 1
call fcn.004096a0
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.0x40c2c0.3
jmp dword [eax*4 + 0x40d134]
mov ecx, dword [esi + 0xb4]
cmp ebx, ecx
jae 0x40c2f1
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.0x40c2c0.5
mov eax, dword [esi + 0x128]
test ah, 1
je case.0x40c2c0.5
test ah, 0x10
je case.0x40c2c0.5
cmp byte [esi + 0x11e], 1
je case.0x40c2c0.5
test cl, 4
jne case.0x40c2c0.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c386
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x40c386
cmp dword [esi + 0x100], 1
je case.0x40c2c0.5
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c386
test byte [esi + 0x130], 0x40
je 0x40c36e
cmp dword [esi + 0x108], edx
je case.0x40c2c0.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x40c2c0.5
cmp eax, 2
je case.0x40c2c0.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x40c39f
mov byte [eax + ebx - 2], 0xd
mov edx, dword [esi + 0x30]
mov byte [edx + ebx - 1], 0xa
jmp case.0x40c2c0.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.0x40c2c0.5
mov ecx, dword [esi + 0x30]
lea eax, [ebx - 4]
test ecx, ecx
mov dword [ebp + 8], eax
je 0x40c3fc
test byte [esi + 0x12c], 2
je 0x40c3e6
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 0x40c441
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 0x40c43b
test byte [esi + 0x12c], 2
je 0x40c424
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 0x40c441
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 0x40c46b
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.0x40c2c0.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.0x40c2c0.5
cmp byte [esi + 0x11e], 1
je case.0x40c2c0.5
test byte [esi + 0x12c], 4
jne case.0x40c2c0.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c4f6
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x40c4f6
cmp dword [esi + 0x100], 1
je case.0x40c2c0.5
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c4f6
test byte [esi + 0x130], 0x40
je 0x40c4de
cmp dword [esi + 0x108], edx
je case.0x40c2c0.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x40c2c0.5
cmp eax, 2
je case.0x40c2c0.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x40c50f
mov byte [eax + ebx], 0xd
mov edx, dword [esi + 0x30]
inc ebx
mov byte [edx + ebx], 0xa
inc ebx
jmp case.0x40c2c0.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.0x40c2c0.5
cmp byte [esi + 0x11e], 1
je case.0x40c2c0.5
test byte [esi + 0x12c], 4
jne case.0x40c2c0.5
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c580
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x40c580
cmp dword [esi + 0x100], 1
je case.0x40c2c0.5
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c580
test byte [esi + 0x130], 0x40
je 0x40c570
cmp dword [esi + 0x108], edx
je case.0x40c2c0.5
mov eax, dword [esi + 0x108]
cmp eax, 1
je case.0x40c2c0.5
cmp eax, 2
je case.0x40c2c0.5
mov eax, dword [esi + 0x30]
test eax, eax
je 0x40c58e
mov byte [eax + ebx], 0xd
inc ebx
jmp case.0x40c2c0.5
mov edx, dword [esi + 0x28]
inc ebx
mov byte [edx + ebx - 1], 0xd
jmp case.0x40c2c0.5
push 0x36e
push str.E:_forrtl_build_for_put.c
push 2
push 0xc0000008
call fcn.00409670
add esp, 0x10
mov eax, dword [esi + 0x30]
test eax, eax
mov edi, eax
jne 0x40c5be
mov edi, dword [esi + 0x28]
movsx ecx, byte [esi + 0x11e]
dec ecx
je 0x40c81b
dec ecx
je 0x40c674
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x40c627
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x40c627
cmp dword [esi + 0x100], 1
je 0x40cfe8
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c627
test byte [esi + 0x130], 0x40
je 0x40c60f
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cfe8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cfe8
cmp eax, 2
je 0x40cfe8
cmp dword [esi + 0x100], 1
je 0x40c663
mov eax, dword [0x434a1c]
test eax, eax
je 0x40d0a2
test byte [esi + 0x130], 0x40
je 0x40c64f
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c663
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c663
cmp eax, 2
jne 0x40d0a2
test ecx, ecx
je 0x40d0a2
mov byte [ecx + 0x20], 0
jmp 0x40d0a2
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c6e6
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40c68f
test eax, eax
je 0x40c6e6
mov cl, byte [eax + 0x1d]
test ecx, ecx
je 0x40c6e6
mov cl, byte [eax + 0x20]
test cl, cl
je 0x40c6ca
cmp dword [esi + 0x100], 1
je 0x40c6e6
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c6ca
test byte [esi + 0x130], 0x40
je 0x40c6ba
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c6e6
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c6e6
cmp eax, 2
je 0x40c6e6
lea eax, [ebp + 0xb]
push 1
push eax
push esi
mov byte [ebp + 0xb], 0xa
call fcn.0040d2a0
add esp, 0xc
cmp eax, 0xffffffff
je 0x40d0c6
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c6f1
mov byte [eax + 0x1c], 0
mov ecx, dword [esi + 0x12c]
test ecx, 0x8000000
je 0x40c70f
mov eax, dword [esi + 0x128]
test ah, 1
je 0x40c70f
test ah, 0x10
jne 0x40c778
cmp byte [esi + 0x11c], 6
je 0x40c778
test cl, 4
jne 0x40c778
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c763
xor ecx, ecx
mov cl, byte [eax + 0x1e]
mov eax, ecx
test eax, eax
je 0x40c763
cmp dword [esi + 0x100], 1
je 0x40c778
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c763
test byte [esi + 0x130], 0x40
je 0x40c753
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c778
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c778
cmp eax, 2
je 0x40c778
mov eax, dword [esi + 0x30]
test eax, eax
je 0x40c770
mov byte [eax + ebx], 0xa
jmp 0x40c777
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 [0x434a1c]
test ecx, ecx
je 0x40c7dc
xor eax, eax
mov al, byte [ecx + 0x1e]
test eax, eax
je 0x40c7dc
cmp dword [esi + 0x100], 1
je 0x40cfe8
test edx, edx
je 0x40c7dc
test byte [esi + 0x130], 0x40
je 0x40c7c4
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cfe8
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cfe8
cmp eax, 2
je 0x40cfe8
cmp dword [esi + 0x100], 1
je 0x40c663
test edx, edx
je 0x40d0a2
test byte [esi + 0x130], 0x40
je 0x40c807
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c663
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c663
jmp 0x40c65a
cmp ebx, 5
jne 0x40c825
mov ebx, 6
test eax, eax
je 0x40c82e
lea edi, [eax + 4]
jmp 0x40c834
mov edi, dword [esi + 0x28]
add edi, 4
sub ebx, 4
test eax, eax
jne 0x40c83e
mov eax, dword [esi + 0x28]
movsx eax, byte [eax + 5]
cmp eax, 0x31
ja case.0x40c853.5
xor ecx, ecx
mov cl, byte [eax + 0x40d168]
jmp dword [ecx*4 + 0x40d150]
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x40c91a
cmp dword [esi + 0x100], 1
je 0x40c8a1
mov eax, dword [0x434a1c]
test eax, eax
je 0x40c91a
test byte [esi + 0x130], 0x40
je 0x40c891
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c8a1
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c8a1
cmp eax, 2
jne 0x40c91a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c8cf
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40c8cf
test edx, 0x8000000
je 0x40cece
mov cl, byte [eax + 0x20]
test cl, cl
je 0x40cece
inc edi
dec ebx
jmp 0x40ced4
test edx, 0x8000000
je 0x40c8e9
test eax, eax
je 0x40c8e9
xor ecx, ecx
mov cl, byte [eax + 0x20]
mov eax, ecx
test eax, eax
je 0x40c8e9
inc edi
jmp 0x40c8ed
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 0x40c90a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
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 0x40c93b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x40cab6
cmp dword [esi + 0x100], 1
je 0x40c996
mov eax, dword [0x434a1c]
test eax, eax
je 0x40cab6
test byte [esi + 0x130], 0x40
je 0x40c982
cmp dword [esi + 0x108], 0xfffffffa
je 0x40c996
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40c996
cmp eax, 2
jne 0x40cab6
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ca53
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40ca11
mov ecx, edx
and ecx, 0x8000000
je 0x40c9bf
mov dl, byte [eax + 0x20]
test dl, dl
je 0x40c9bf
inc edi
dec ebx
jmp 0x40c9ef
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x40c9d5
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x40c9d5
add edi, 2
sub ebx, 2
jmp 0x40c9ef
test ecx, ecx
je 0x40c9e8
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x40c9ef
mov byte [edi], 0xa
mov byte [edi + 1], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40c9fa
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ca05
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
mov byte [eax + 0x20], 1
jmp 0x40d0a2
test eax, eax
je 0x40ca53
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x40ca39
test edx, 0x8000000
je 0x40ca2e
inc edi
mov byte [edi + ebx - 1], 0xd
jmp 0x40ca8e
add edi, 2
dec ebx
mov byte [edi + ebx - 1], 0xd
jmp 0x40ca8e
test eax, eax
je 0x40ca53
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40ca6b
test eax, eax
je 0x40ca53
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x40ca6b
test edx, 0x8000000
je 0x40ca60
mov byte [edi], 0xd
jmp 0x40ca85
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x40ca8e
test edx, 0x8000000
je 0x40ca82
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x40ca89
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 0x40caa6
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cad3
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40caeb
test eax, eax
je 0x40cad3
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x40caeb
test edx, 0x8000000
je 0x40cae0
mov byte [edi], 0xd
jmp 0x40cb05
inc edi
mov byte [edi], 0xa
mov byte [edi + ebx - 1], 0xd
jmp 0x40cb0e
test edx, 0x8000000
je 0x40cb02
dec edi
inc ebx
mov byte [edi], 0xa
mov byte [edi + 1], 0xd
mov byte [edi + 2], 0xa
jmp 0x40cb09
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 0x40cb26
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x40cc9f
cmp dword [esi + 0x100], 1
je 0x40cb81
mov eax, dword [0x434a1c]
test eax, eax
je 0x40cc9f
test byte [esi + 0x130], 0x40
je 0x40cb6d
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cb81
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cb81
cmp eax, 2
jne 0x40cc9f
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x40cc21
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40cbee
mov ecx, edx
and ecx, 0x8000000
je 0x40cba7
mov dl, byte [eax + 0x20]
test dl, dl
jne 0x40cbdd
mov dl, byte [eax + 0x1c]
test dl, dl
jne 0x40cbbb
mov dl, byte [eax + 0x1d]
test dl, dl
jne 0x40cbbb
inc edi
sub ebx, 2
jmp 0x40cbde
test ecx, ecx
je 0x40cbda
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 0x40cbde
mov byte [edi], 0xc
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cfda
jmp 0x40cfd6
test eax, eax
je 0x40cc21
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x40cc07
test edx, 0x8000000
jne 0x40cc72
inc edi
dec ebx
jmp 0x40cc72
test eax, eax
je 0x40cc21
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40cc46
test eax, eax
je 0x40cc21
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x40cc46
test edx, 0x8000000
je 0x40cc6f
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 0x40cc77
test edx, 0x8000000
je 0x40cc6f
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 0x40cc77
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 0x40cc8f
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x40ccbd
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40cce2
test eax, eax
je 0x40ccbd
mov cl, byte [eax + 0x1d]
mov eax, ecx
test eax, eax
jne 0x40cce2
test edx, 0x8000000
je 0x40cd0b
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 0x40cd13
test edx, 0x8000000
je 0x40cd0b
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 0x40cd13
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 0x40cd2b
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x40ce27
cmp dword [esi + 0x100], 1
je 0x40cd86
mov eax, dword [0x434a1c]
test eax, eax
je 0x40ce27
test byte [esi + 0x130], 0x40
je 0x40cd72
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cd86
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cd86
cmp eax, 2
jne 0x40ce27
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cdf2
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40cdc1
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x40cdac
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x40cdac
add edi, 2
sub ebx, 2
jmp 0x40cdb1
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cfda
jmp 0x40cfd6
test eax, eax
je 0x40cdf2
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x40cdd6
add edi, 2
sub ebx, 2
jmp 0x40cdff
test eax, eax
je 0x40cdf2
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40cdfa
test eax, eax
je 0x40cdf2
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x40cdfa
add edi, 2
sub ebx, 2
jmp 0x40cdff
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ce0a
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 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ce46
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40ce4e
test eax, eax
je 0x40ce46
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x40ce4e
add edi, 2
sub ebx, 2
jmp 0x40ce53
inc edi
dec ebx
mov byte [edi], 0xa
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ce5e
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 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x12c]
test ah, 1
je 0x40cf1a
cmp dword [esi + 0x100], 1
je 0x40cebe
mov eax, dword [0x434a1c]
test eax, eax
je 0x40cf1a
test byte [esi + 0x130], 0x40
je 0x40ceae
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cebe
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cebe
cmp eax, 2
jne 0x40cf1a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40ceef
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40ceef
add edi, 2
sub ebx, 2
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cee3
mov byte [eax + 0x1d], 0
mov edx, dword [esi + 0x7c]
mov byte [edx + 0x20], 1
jmp 0x40d0a2
add edi, 2
sub ebx, 2
test eax, eax
je 0x40cefd
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 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x7c]
add edi, 2
sub ebx, 2
test eax, eax
je 0x40cf2b
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 0x40d0a2
jmp 0x40d09e
mov edx, dword [esi + 0x12c]
test dh, 1
je 0x40d053
cmp dword [esi + 0x100], 1
je 0x40cf93
mov eax, dword [0x434a1c]
test eax, eax
je 0x40d053
test byte [esi + 0x130], 0x40
je 0x40cf7f
cmp dword [esi + 0x108], 0xfffffffa
je 0x40cf93
mov eax, dword [esi + 0x108]
cmp eax, 1
je 0x40cf93
cmp eax, 2
jne 0x40d053
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x40d026
xor ecx, ecx
mov cl, byte [eax + 0x1e]
test ecx, ecx
je 0x40cff1
test edx, 0x8000000
je 0x40cfb7
mov cl, byte [eax + 0x20]
test cl, cl
jne 0x40cfce
mov cl, byte [eax + 0x1c]
test cl, cl
jne 0x40cfcb
mov cl, byte [eax + 0x1d]
test cl, cl
jne 0x40cfcb
inc edi
sub ebx, 2
jmp 0x40cfcf
mov byte [edi], 0xa
dec ebx
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cfda
mov byte [eax + 0x1c], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40cfe5
mov byte [eax + 0x1d], 0
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x20], 1
jmp 0x40d0a2
test eax, eax
je 0x40d026
xor ecx, ecx
mov cl, byte [eax + 0x20]
test ecx, ecx
je 0x40d00a
test edx, 0x8000000
jne 0x40d02d
inc edi
dec ebx
jmp 0x40d02d
test eax, eax
je 0x40d026
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40d02a
test eax, eax
je 0x40d026
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x40d02a
inc edi
dec ebx
jmp 0x40d02d
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 0x40d04a
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
jmp 0x40d09e
mov eax, dword [esi + 0x7c]
inc edi
test eax, eax
je 0x40d073
xor ecx, ecx
mov cl, byte [eax + 0x1c]
test ecx, ecx
jne 0x40d077
test eax, eax
je 0x40d073
xor edx, edx
mov dl, byte [eax + 0x1d]
mov eax, edx
test eax, eax
jne 0x40d077
inc edi
dec ebx
jmp 0x40d07a
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 0x40d097
mov byte [eax + 0x1d], 0
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x40d0a2
mov byte [eax + 0x20], 0
push ebx
push edi
push esi
call fcn.0040d2a0
mov edi, dword [esi + 0x128]
add esp, 0xc
and edi, 0xfbffffff
cmp eax, 0xffffffff
mov dword [esi + 0x128], edi
mov ecx, edi
jne 0x40d0de
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 0x40d129
mov edx, dword [esi + 0xa8]
xor edi, edi
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x40d10a
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 0x40d129
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